当前位置: 首页 > news >正文

使用Allure作为测试报告生成器(Java+Selenium)

背景

JAVA项目中原先用Jenkins+selenium+selenium grid来日常测试UI并记录。

问题

当某一个testSuite失败时,当需要确认UI regression issue还是selenium test case自身的问题,需要去jenkins中查log,一般得到的是“Can not find element xxxxxx by path xxx”,但又无法确定具体是什么问题,又得去grid server录频中找具体问题,定位耗时。

解决方案

在log文本和grid server录屏中间增加一个图片层级,引入Allure来记录报错截屏。

实施

pom.xml 文件

依赖:

<!-- allure -->
<dependency><groupId>io.qameta.allure</groupId><artifactId>allure-testng</artifactId><version>2.12.1</version><scope>test</scope>
</dependency><!-- allure相关依赖 -->
<dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.10</version>
</dependency><!-- testNG依赖 -->
<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>6.14.3</version><scope>test</scope>
</dependency>

插件:

            <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><systemPropertyVariables><allure.results.directory>${project.basedir}/target/allure-results</allure.results.directory></systemPropertyVariables><parallel>methods</parallel><threadCount>10</threadCount></configuration></plugin></plugins>

在package: test.selenium.framework 中的Browser 类
// allure-report
try {
Allure.addAttachment(name, “image/png”, Files.newInputStream(file.toPath()),“.png”);
} catch (IOException e) {
e.printStackTrace();
}
Allure.addAttachment(“Error message”, “text/csv”, throwable.toString());

结果

在这里插入图片描述

http://www.lryc.cn/news/501390.html

相关文章:

  • RocketMQ面试题合集
  • Qt初识_对象树
  • axios的get和post请求,关于携带参数相关的讲解一下
  • Vue前端开发-路由其他配置
  • 框架建设实战7——定时任务组件
  • mybatis 整合 ehcache
  • 【PlantUML系列】用例图(三)
  • 发送请求时遇到了数据库完整性约束错误 1048 Column ‘platform‘ cannot be null
  • 三菱FX3U模拟量产品的介绍
  • pdf转图片
  • Go 协程上下文切换的代价
  • HTTP 持久连接(长连接)
  • 12月10日IO
  • Composite Pattern
  • Springboot MVC
  • MySQL数据表记录增操作
  • maven报错“找不到符号“
  • python进阶-05-利用Selenium来实现动态爬虫
  • P1226 【模板】快速幂
  • 【C++】求第二大的数详细解析
  • 从零开始学TiDB(3)TiKV 持久化机制
  • Elasticsearch+Kibana+IK分词器+拼音分词器安装
  • 子网划分实例
  • 上海亚商投顾:创业板指震荡调整 机器人概念股再度爆发
  • 【C++ 20进阶(2):初始化 Initializer
  • 【重生之我在B站学MySQL】
  • Python实现中国象棋
  • LBS 开发微课堂|通过openGL ES轻松实现建筑物渲染及动画
  • map1[item.id]和map1.get(item.id)的区别为何前者取出的是空,后者取出的是正确的值
  • window端sqlplus连接linux_oracle11g