关于自动化测试报告:

之前用过testNG自带的测试报告、优化过reportNG的测试报告、extentreport、Zreport(大飞总原创),这些是我之前都用过的,也是在去年雯姐和我说过Allure2这个报告不错,一直没时间,正巧最近有用到,接触下发现确实是个神器。

Allure(已经有allure2了,小编用的就是allure2),生成的测试报告与上述对比,简直堪称完美!先上个测试报告的图表,给大家直观感受下:

下面让我们一起走进Allure的世界,跟上步伐,相信我这一切并不难

一、pom文件部分

4.0.0

allure-demo

allure-demo

1.0-SNAPSHOT

2.10.0

UTF-8

1.8

1.9.2

src/test/resources/suite/test-moudle/testng.xml

selenium-server-standalone

selenium-server-standalone

3.9.1

io.qameta.allure

allure-testng

${allure.version}

test

org.hamcrest

hamcrest-all

1.3

test

org.testng

testng

6.14.3

io.qameta.allure

allure-java-commons

2.10.0

org.apache.maven.plugins

maven-compiler-plugin

3.3

1.8

1.8

UTF-8

org.apache.maven.plugins

maven-surefire-plugin

2.22.1

-javaagent:"${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar"

src/test/resources/testng.xml

org.aspectj

aspectjweaver

${aspectj.version}

true

io.qameta.allure

allure-maven

2.10.0

${allure.version}

二、安装插件

在Jenkins插件管理中,搜索Allure即可

三、安装Allure Commandline

安装完allure插件后,进入系统管理-->全局工具配置,安装Allure Commandline

保存即可

此时再通过Jenkins构建并执行测试代码后,就可以看到Allure的测试报告了。以上,完成了Allure的基本配置。

四、Allure用法

1、注解:

我只列举一些常用的注解,其他的可以自行去官网查阅

//用例编号

@TmsLink("562")//bug编号

@Issue("4042")//bug严重等级,优先级,包含blocker, critical, normal, minor, trivial 几个不同的等级

@Severity(SeverityLevel.TRIVIAL)//用例描述

@Description("测试一个流程,用作回归冒烟测试")

添加@TmsLink, @Issue注解后,在allure report中会生成相应的链接,但是它是如何访问我们的缺陷管理系统以及用例管理系统给的呢,在官网文档有说明。

查看文档发现,需要有一个配置文件,将我们系统域名预先设置好,再将{}的内容使用注解进行替换,这样就能访问到我们想范文的连接了。但是官方并没有说明这个配置文件的具体配置,好在官方有一些简单的小demo可供产考;

这是官方的testng的demo地址https://github.com/allure-examples/allure-testng-example/tree/master/src/test/resources

可以看到它有一个文件名叫做allure.properties

这是文件的内容

allure.results.directory=target/allure-results

allure.link.issue.pattern=https://example.org/issue/{}

allure.link.tms.pattern=https://example.org/tms/{}

第一个应该是默认的输出路径,暂时未用到先不研究,将你需要访问的url替换就可以,比如:

allure.link.issue.pattern=http://jira.XXX.com/browse/{}

allure.link.tms.pattern=http://testlink.XXX.com/{}

这里需要注意一点,allure.properties的位置必须是跟你路径下的test同级否则会找不到这个文件;

我用的是idea创建的maven项目

最终效果如下:

2、自动截图

allure最吸引我的地方是,不用存到本地,它能将selenium的截图放到report中

第一步:写一个监听类,当执行失败自动截图

packagecom.allure.demo;importio.qameta.allure.Attachment;importorg.openqa.selenium.OutputType;importorg.openqa.selenium.TakesScreenshot;importorg.testng.ITestResult;importorg.testng.TestListenerAdapter;public class TestFailListener extendsTestListenerAdapter {

@Overridepublic voidonTestFailure(ITestResult result) {

screenshot();

}

@Attachment(value= "screen shot",type = "image/png")public byte[] screenshot(){byte[] screenshotAs =((TakesScreenshot)GetDriver.driver).getScreenshotAs(OutputType.BYTES);returnscreenshotAs;

}

}

第二步:在测试类上,添加Listeners的注解

packagecom.allure.demo;import io.qameta.allure.*;importorg.openqa.selenium.By;importorg.openqa.selenium.Keys;importorg.openqa.selenium.WebDriver;importorg.testng.Assert;import org.testng.annotations.*;importjava.util.concurrent.TimeUnit;

@Epic("百度查询功能测试")

@Feature("百度查询功能")

@Listeners(TestFailListener.class)public classAllureDemo {staticWebDriver driver;static final int MAX_TIMEOUT_IN_SECONDS = 5;

@BeforeClasspublic static void beforeClass() throwsException {

driver= newGetDriver().getDriver();

String url= "https://www.baidu.com/";

driver.manage().window().maximize();

driver.manage().timeouts().implicitlyWait(MAX_TIMEOUT_IN_SECONDS, TimeUnit.SECONDS);

driver.get(url);

}//用例编号

@TmsLink("562")//bug编号

@Issue("4042")//bug严重等级,优先级,包含blocker, critical, normal, minor, trivial 几个不同的等级

@Severity(SeverityLevel.TRIVIAL)//用例描述

@Description("测试一个流程,用作回归冒烟测试")/***功能块,具有相同feature或astory的用例将规整到相同模块下,执行时可用于筛选*/@Story("查询场景-正向查询功能")

@Test(description= "验证百度查询功能", dataProvider = "testDemo")public void testDemo(String key) throwsException {

driver.findElement(By.id("kw")).clear();

driver.findElement(By.id("kw")).sendKeys(key, Keys.ENTER);

Thread.sleep(3000);

Assert.assertEquals(driver.getTitle(), key+ "_百度搜索");if (key.equals("java")){

Assert.assertEquals(driver.getTitle(),"断言失败!");

}

}

@AfterClasspublic static voidtearDownAfterClass() {if (driver != null) {

System.out.println("运行结束!");

driver.quit();

}

}

@DataProvider(name= "testDemo")publicObject[][] testDemo() {return newObject[][]{

{"软件测试君"},

{"refain 博客园"},

{"java"},

};

}

}

截图效如下图:

是不是很nice,还不动手试一试········

allure 测试报告本地打开_Allure自动化测试报告我是这样用的相关推荐

  1. allure 测试报告本地打开_Pytest和Allure测试框架(二)

    七, 单元自动化测试pytest和allure在测试中应用 自动执行 1, 单元测试测试报告展示 2, conftest中编写driver,范围session,使用 addfinalizer在测试结束 ...

  2. allure 测试报告本地打开_Allure--自动化测试报告生成

    之前尝试使用过testNG自带的测试报告.优化过reportNG的测试报告,对这两个报告都不能满意.后经查找资料,发现有个神器: Allure(已经有allure2了,笔者使用的就是allure2), ...

  3. 自动化测试报告 html模板,PyTestReport 自动化测试报告框架

    PyTestReport 一个由HTMLTestRunner项目为灵感,并基于HTMLTestRunner进行二次开发的一个项目.主要在 API 调用.报告样式.扩展性等方面进行了增强. 点击查看HT ...

  4. python怎么自动生成测试报告_python生成接口自动化测试报告模版

    1:准备html模版 接口自动化 自动化测试报告:&test_data 被测版本:&version 成功:&pass 失败:&fail 错误:&error 最后 ...

  5. python做接口自动化如何输出测试报告-python生成接口自动化测试报告模版

    自动化测试报告:&test_data 被测版本:&version 成功:&pass 失败:&fail 错误:&error 最后时间:&lasttime ...

  6. pytest+allure之测试报告本地运行

    一.前言 众所周知当生成allure测试报告后,在PyCharm下右键index.html就打开了,这样式儿的 但在本地打开时,这样式儿: 因为PyCharm自带容器服务,开启了一个端口运行,同理本地 ...

  7. 生成报告配置xml_自动化测试报告太丑?Allure拯救你!

    TestNG报告太丑? 测试结果维度展现有限? 无法区分用例优先级? 不方便查看错误信息? Allure测试报告框架帮助你轻松实现"高大上"报告展示.本文通过示例演示如何从0到1集 ...

  8. python自动化测试报告 之 allure_Pytest+ Allure + Jenkins 自动化测试报告

    在自动化测试执行之后,生成一个美观大方的测试报告,也是测试过程中,非常最要的一环.测试报告直接反应了测试过程中发现的问题,分析测试报告是解决问题的最重要手段.那么一个专业的测试报告应该长什么样呢?废话 ...

  9. 阿里软件测试工程师手把手教学——自动化测试报告太丑,怎么办?

    TestNG的报告太难看了?测试结果维度显示受限?无法确定用例的优先级?查看错误信息不方便吗? Allure测试报告框架帮助您轻松实现"高"报告呈现.本文通过实例演示了如何将All ...

最新文章

  1. java arraylist 构造_Java基础五:构造方法、ArrayList
  2. 配置yum仓库和客户端:
  3. Scrapy介绍及入门
  4. 算法练习day12——190331(哈希函数、哈希表、布隆过滤器、一致性哈希)
  5. Jquery实用笔记
  6. array python 交集_模糊数学Python库简介和评测
  7. 金山安全报告:二月漏洞频出 网站挂马猖獗
  8. 与 python 交互
  9. 第一个C#程序—C#基础回顾
  10. 【渝粤教育】国家开放大学2018年春季 0266-22T设计构成 参考试题
  11. 金三银四,Android高级开发面试题目,帮你助力
  12. 关于ugui界面显示隐藏的优化
  13. 常见职位的英文简称_英语面试常见的50大问题及应对技巧
  14. 知网论文CAJ格式免费转换成PDF,你学会了吗
  15. ubuntu下安装搜狗输入法
  16. 手机mtkcdc端口如何开启_联想手机MTK线刷设置PreLoader端口的方法
  17. [08.3][转贴][美国][动作][第一滴血1][DVD-RMVB/308M][英语中字]
  18. matlab 多项式表达,MATLAB多项式
  19. android 11.0 12.0USB连接模式默认设为MTP
  20. 有n个人围成一圈,从第1个人开始,1、2、3报数,报至3出局,余下的人继续从1、2、3报数,问:最后剩下的一人是原来的第几号?同时求出被淘汰编号的序列。(要求:用循环队列解决该问题。)

热门文章

  1. Emacs设置侧边栏目录neotree
  2. android之添加raw文件
  3. 深度学习自学(一):Loss function 损失函数
  4. oracle dataguard详解,Oracle 19c 新特性详解:DataGuard 中ADG的自动DML重定向
  5. python torchvision_pip install torchvision error:安装版本为0.4.1的torch后继续安装torchvision报错...
  6. redis存储对象_redis内存优化总结
  7. java future 返回值_Java--Callable与返回值future
  8. java三色球问题_2020100期专业玩彩双色球走势分析
  9. python怎么导入csv文件数据-机器学习Python实践——数据导入(CSV)
  10. linux 编写java代码