《手把手教你》系列基础篇(八十四)-java+ selenium自动化测试-框架设计基础-TestNG日志-上篇(详解教程)

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入

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 {@Testpublic 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包,然后执行就可以了。

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

  每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问)或者微信搜索: 北京宏哥  公众号提前解锁更多干货。

Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/809731.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Failed to delete XXXX.jar

Failed to delete XXXX.jar 问题:idea控制台报Failed to clean project:Failed to delete idea中点击maven->对应pom->lifecycle->clean时,报错 原因:target文件可能时编译的文件被其他程序占用,导致资源无法回收 解…

thinkphp6中使用监听事件和事件订阅

目录 一:场景介绍 二:事件监听 三:配置订阅 一:场景介绍 在项目开发中有很多这样的场景,比如用户注册完了,需要通知到第三方或者发送消息。用户下单了,需要提示给客服等等。这些场景都有一个…

SAP_ABAP_MM_PO审批_队列实践SMQ1

SAP ABAP 顾问(开发工程师)能力模型-CSDN博客文章浏览阅读1k次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/java_zhong1990/article/det…

【春秋招专场】央国企——国家电网

国家电网目录 1.公司介绍1.1 业务1.2 组成 2.公司招聘2.1 招聘平台2.2 考试安排2.3 考试内容 3.公司待遇 1.公司介绍 1.1 业务 国家电网公司(State Grid Corporation of China,简称SGCC)是中国最大的国有企业之一,主要负责中国绝…

DS数模-Mathorcup妈妈杯C题思路

2024Mathorcup数学建模挑战赛(妈妈杯)C题保姆级分析完整思路代码数据教学 C题题目:物流网络分拣中心货量预测及人员排班 接下来我们将按照题目总体分析-背景分析-各小问分析的形式来 总体分析:题目要求我们处理的是一个关于物流…

在实体类中使用JSONObject对象

有时候我们的业务需求可能字段是json格式,这个时候我们的实体类就对应的也应该是json格式,需要使用到JSONObject这个对象,但是可能会使用不了这个对象,那接下来我将简单介绍如何使用这个对象。 以下为我的实体类中的某个字段&…

什么是云原生

什么是云原生 云原生的定义 aws: 云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代公司希望构建高度可伸缩、灵活和有弹性的应用程序,以便能够快速更新以满足客户需求。为此,他们使用了支持云基础设施上应用程序开发的现…

cat,tac,nl,more,less,head,tail,od,touch-读书笔记(五)

文件内容查阅 cat 由第一行开始显示文件内容 tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! nl 显示的时候,顺道输出行号! more 一页一页的显示文件内容 less 与 more 类似,但是比 more 更好的是&#x…

OpenAI 推出新网络爬虫GPTBot,为GPT-5做准备

目录 一、GPTBot是什么?它是如何工作的?二、GPTBot 与 Google Bot 等搜索引擎网络爬虫有何不同?三、GPTBot 与 Perplexity AI 的网络爬虫有何不同?四、允许 GPTBot 爬取有哪些风险和好处?4.1 允许 GPTBot 的好处4.2 允…

笔记-Building Apps with the ABAP RESTful Application Programming Model-Week3

Week3 Unit 1: The Enhanced Business Scenario 本节介绍了将要练习的demo的业务场景,在前两周成果的基础上,也就是只读列表,也可以说是报表APP基础上启用了事务能力,也就是CURD以及自定义业务功能的能力,从创建基本的behavior definition,然后behavior definition proj…

Python(8):文件的IO读写操作(操作普通文件/csv/excel)

文章目录 一、文件的IO读写操作1.常用的文件读取标志符2.普通文件的读操作 二、csv文件的读写操作1.读取操作2.读取时候跳过某一行3.列表方式写入csv文件4.字典方式写入csv文件 三、excel的数据操作(非pandas模块)1.读取excel的某个sheet的某一行的某一列…

【C++】stringstream

stringstream 定义于头文件 <sstream>&#xff0c;它其实是个别名&#xff0c;具体定义如下&#xff1a; typedef basic_stringstream<char> stringstream;<sstream> 定义了三个类&#xff1a;istringstream、ostringstream 和 stringstream&#xff0c;分别…

java数据结构与算法刷题-----LeetCode268. 丢失的数字

java数据结构与算法刷题目录&#xff08;剑指Offer、LeetCode、ACM&#xff09;-----主目录-----持续更新(进不去说明我没写完)&#xff1a;https://blog.csdn.net/grd_java/article/details/123063846 文章目录 数学位运算 数学 解题思路&#xff1a;时间复杂度O( n n n)&…

锐腾授权世强硬创代理导热硅脂等热界面材料,最大化降低界面热阻

随着热界面材料下游新兴应用领域如数据中心、新能源汽车、可穿戴设备等的高速发展&#xff0c;其散热需求也将同步上升&#xff0c;国内热界面材料行业市场规模呈现上涨态势。 在此趋势下&#xff0c;国内锐腾新材料制造&#xff08;苏州&#xff09;有限公司&#xff08;下称…

从零到部署指南:Ubuntu上安装Boost和Crow库

1.安装boost 在安装Crow之前&#xff0c;需要确保您的系统中已经安装了Boost库。以下是Boost库安装步骤&#xff1a; 首先&#xff0c;从Boost官方网站或通过特定的链接下载Boost的源码&#xff0c;boost源码具体可参看这个链接&#xff1a; https://blog.csdn.net/duan199201…

vue3+高德地图+turfjs实现等压线,色斑图(用于显示气象,环境等地图场景)

首先是turf.js(英文官网),也有中文网不过也就目录翻译了一下. 高德官网自行获得key 使用turf的isobands api实现. 数据: 需要准备geojson格式经纬度信息业务值(比如温度,高度,光照只要是number值什么数据都可以) 国内各地区geojson数据点这里获得 参考的是这位大佬写的内容 我…

洛谷 - P1187 3D模型

3D模型 题目描述 一座城市建立在规则的 n m n \times m nm 网格上&#xff0c;并且网格均由 1 1 1 \times 1 11 正方形构成。在每个网格上都可以有一个建筑&#xff0c;建筑由若干个 1 1 1 1 \times 1 \times 1 111 的立方体搭建而成&#xff08;也就是所有建筑的底部…

Unity MySql安装部署与Unity连接 下篇

一、前言 上篇讲到了如何安装与部署本地MySql&#xff1b;本篇主要讲Unity与MySql连接、创建表、删除表&#xff0c;然后就是对表中数据的增、删、改、查等操作。再讲这些之前会说一些安装MySql碰到的一些问题和Unity连接的问题。 当把本地MySql部署好之后&#xff0c;我们可能…

uniapp 小程序获取WiFi列表

<template><view ><button click"getWifiList">获取WiFi列表</button><scroll-view:scroll-top"scrollTop"scroll-yclass"content-pop"><viewclass"itemInfo"v-for"(item, index) in wifiList&…

网络原理(应用层、传输层)

文章目录 一、应用层1.1 自定义协议1.2 通用协议XMLJSONprotobuf 二、传输层2.1 UDP协议2.2 TCP协议协议端格式及解析可靠性机制确认应答超时重传连接管理&#xff08;三次握手&#xff0c;四次挥手&#xff09;流量控制拥塞控制 效率机制滑动窗口延迟应答捎带应答 粘包问题TCP…