1.简介

  TestNG还为我们提供了测试的记录功能-日志。例如,在运行测试用例期间,用户希望在控制台中记录一些信息。信息可以是任何细节取决于目的。牢记我们正在使用Selenium进行测试,我们需要有助于用户理解测试步骤或测试用例执行期间的任何失败的信息。在TestNG Logs的帮助下,可以在Selenium测试用例执行期间启用日志记录。

  这一篇文章宏哥主要介绍利用TestNG中的Report类来实现简单的log输出,在TestNG中有一个Report的类,这个类的作用是,在添加了@Test的方法里面,通过Report.log("log message")这样的方式,给每个步骤添加日志解释,这些日志解释会显示在TestNG生成的html报告中。

2.两中模式记录

日志信息一般使用两中模式记录,即高层级和底层级。

(1)底层级模式日志会记录所有的测试步骤信息。在低级别日志记录中,您尝试为您执行的每个步骤或在自动化脚本中执行的每个操作生成日志。

(2)高层级模式日志只记录测试脚本中的主要时间信息。在高级别日志记录中,您只需尝试捕获测试的主要事件。

3.项目实战

好了,多的不说少的不唠,直接进入今天的主题-testng日志。

3.1测试场景

因为这一篇主要是讲解日志,所以宏哥在这里模拟一个测试场景:启动浏览器,登录到系统,然后退出系统。

3.2代码设计

3.3参考代码

package library;

import org.testng.Reporter;
import org.testng.annotations.Test; /**
* @author 北京-宏哥
*
* @公众号:北京宏哥
*
*《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志(详解教程)
*
* 2022年3月14日
*/ public class TestLog { @Test
public void OpenBrowser() {
System.out.println("OpenBrowser被调用!");
Reporter.log("调用打开浏览器的方法!");
} @Test(dependsOnMethods = {"OpenBrowser"})
public void SignIn() {
System.out.println("SignIn方法被调用!");
Reporter.log("调用登录方法!");
} @Test(dependsOnMethods = {"SignIn"})
public void LogOut() {
System.out.println("LogOut方法被调用!");
Reporter.log("调用注销方法!");
} }

3.4运行代码

1.运行代码,右键Run AS->TestNG Suite,控制台输出,如下图所示:

3.5查看日志

1.运行代码后,找到testng的index.htm测试报告,查看日志,如下图所示:

2.运行代码后,找到testng的emailable-report.html测试报告,查看日志,如下图所示:

3.从上图可以看到用Eclipse自带浏览器打开发现中文的日志消息会显示乱码,但是进入项目文件,用本地浏览器再次打开没有乱码,宏哥对比了上边两个文件的html代码,发现乱码的里边没有定义编码格式,可能是这个原因吧!

4.将定义编码格式的代码加入后,再次用Eclipse自带浏览器打开,没有乱码,如下图所示:

4.小结

细心地小伙伴后者童鞋们发现日志不是按我们的运行顺序显示。网上查了好多资料说是TestNg的jar包里生成日志的记录是按字母排序优先级来显示,需要修改jar包的源码,还有那个编码问题也需要修改源码。就是你修改源码后,再重新导出一个jar包,然后执行就可以了。

好了,今天时间不早了,今天宏哥就分享和讲解到这里,感谢您耐心地阅读!

最新文章

  1. Vernam密码
  2. erlang 查看进程相关信息
  3. Jquery 表格固定表头
  4. Mysql数据库备份和按条件导出表数据
  5. html5学习链接
  6. 谷歌的C++智能指针实现
  7. AsEnumrable和AsQueryable的区别
  8. 一步一步学android之布局管理器——LinearLayout
  9. VBA编程的工程性规划
  10. javaScript函数参数
  11. R语言︱噪声数据处理、数据分组——分箱法(离散化、等级化)
  12. Java虚拟机内存溢出异常--《深入理解Java虚拟机》学习笔记及个人理解(三)
  13. go语言time包的使用
  14. js循环出相同name,不同id的按钮,对其进行点击回复操作
  15. Codeforces 1086D Rock-Paper-Scissors Champion
  16. HDU5511 : Minimum Cut-Cut
  17. 扑克牌游戏-华为OJ-C++实现
  18. C# WinForm通用皮肤
  19. cad2014卸载/安装失败/如何彻底卸载清除干净cad2014注册表和文件的方法
  20. Vue 就地复用策略注意事项

热门文章

  1. 哈工大 信息安全 实验 Snort与单台防火墙联动实验
  2. 在用Scrapy进行爬虫时碰到的错误
  3. Chapter08 面向对象(中级)
  4. cobbler check执行报错
  5. 【转载】SQL实例大全
  6. Cloud Computing Chapter3 (云计算第三章)
  7. php 修改后端代码参考
  8. redis php使用实例
  9. java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.
  10. 分布式 PostgreSQL 集群(Citus)官方安装指南