专栏首页软测小生使用TestNG listener实现Case失败重跑功能

使用TestNG listener实现Case失败重跑功能

前提概要

Case失败了,想自动再跑一遍确认到底是不稳定还是真bug? 这可咋整啊? 使用testng的listener

你得看的懂自动化测试的框架,做过自动化测试,勉强能看懂Java代码。

直接先贴张图,(项目结构图):

首先

写了两条Case(这里为了测试Retry就没有精心去把内容分开,元素,方法全部都放在test类里面了,实际工作中这是不科学不严谨的),打开百度主页的,并保证能够正常运行的,通过testSuit文件来批量运行:

testSuit内容如下,并确保可以从这运行

其次

通过重写testng的retry方法和transform方法来实现用例失败重跑的功能。

1、先新建Java类实现IRetryAnalyzer接口

2、新建Java类实现IAnnotationTransformer接口

3、在testng.xml文件中添加RetryListener监听器

现在来测试一下,我们刻意的将代码中元素定位的改了一下之后再次运行的结果如下:显示TestCase1运行了4次

上面三步就可以实现失败自动重跑了,不过添加了重跑功能后会发现测试结果的邮件中用例的个数增加了,比如我只有一个用例,失败重跑了2次,一共运行3次,测试结果中显示的用例个数会是3个,那接下来就需要解决这个问题了。

这个我们通过重写TestListenerAdapter中的onFinish方法实现:

4、写一个 TestngListener.java 监听接口

把listener添加到testng.xml中,当前testng.xml为:

<listener class-name="com.testNG.***.RetryListener" />

<listener class-name="com.testNG.***.TestngListener" />

总结: 使用testng的listener,重写testng的retry方法和transform方法。

本文分享自微信公众号 - 软测小生(ruancexiaosheng),作者:xiaohan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-05-31

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 9个实战及面试常用Shell脚本编写

    5)有两个命令能帮助我调试脚本:set -e 遇到执行非0时退出脚本,set-x 打印执行过程。

    软测小生
  • API测试之Postman使用全指南(三)

    Postman Tests在请求中添加JavaScript代码来协助验证结果,如:成功或失败状态、预期结果的比较等等。 通常从pm.test开始。它可以与断言相...

    软测小生
  • JMeter功能不够用?看我的

    作为一个开源的接口性能测试工具,JMeter已经能够很好地完成基本的接口性能测试任务,但是和一些商业的性能测试工具如LoadRunner相比,在功能的全面性上就...

    软测小生
  • 紫金山沈洋:基于可编程交换机和智能网卡的四层负载均衡器

    在2020网络数据平面峰会上,来自紫金山实验室未来网络中心的研究员——沈洋给我们带来了《基于可编程交换机和智能网卡的四层负载均衡器》的主题演讲。

    SDNLAB
  • 企业的神经系统-数据系统(二)

    如果把现金流当作企业的血液,数据系统完全可以称得上是企业这个有机体的神经系统,每一个数据都是企业的神经元,这些数据记录的是资源以及资源活动的信息,通过将数据传输...

    明悦数据
  • 中国的黑客究竟有多张狂?

    这个黑客在论坛里张贴了一篇叫做“How to farm Izual in Inferno”的文章(Izual是暗黑破坏神3中的一个boss),里面提供了一个链...

    程序员互动联盟
  • 如何使用JavaScript导入和导出Excel文件

    JavaScript是一个涵盖多种框架、直译式、可以轻松自定义客户端的脚本语言,在 Web 应用程序中,更加易于编码和维护。而Excel 作为一款深受用户喜爱的...

    葡萄城控件
  • 【吐槽】IM群里几种我认为愚蠢的提问方式

    你能得到一句【在,请说】的答复我就服了你,这样问的结果往往是等半天没一个人鸟你,悲观的你或者就此凄凉的退群了,感概人情冷暖的同时甚至开始怀疑人生;积极的你或者这...

    AhDung
  • 如何在Linux中发现IP地址冲突

    你们都知道什么是IP地址,是吧?它们被分配给网络上的设备来代表它们。它们通过DHCP服务器分配并且会经常改变。现在有两种IP地址。动态的一种会经常改变(几天一次...

    小小科
  • AMD发布“全球单核性能最快”CPU,参数碾压英特尔,性能提升47%

    这次带来的,是具有x86服务器CPU上“全球最快单核性能”的EPYC Rome 7Fx2系列。

    量子位

扫码关注云+社区

领取腾讯云代金券