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

在上面这张测试报告中,整体用中文显示,易于阅读;左侧导航栏包含总览、分类、测试用例列表、图表等多个模块;右侧的总览页面中包含了用例数、成功率、历史趋势图、用例分类等多张表格;页面布局简约大方。

那么如何生成这样一份测试报告呢?

第一步,安装Python依赖库。两种方式任选其一,第一种在dos窗口中,输入下面三个命令:

· pip3 install pytest

· pip3 install allure-python

· pip3 install allure-python-commons

第二种方法,打开Pycharm,点击File,点击Settings,选择project interpreter,点击右上角+加号按钮,搜索并选择pytest,点击install package;搜索allure,分别选择allure-python和allure-python-commons,点击install package。如下图。

第二步,安装好依赖库以后,下载并解压allure命令行工具,用于后面步骤执行allure命令,下载地址一:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A;下载地址二:https://github.com/allure-framework/allure-pytest。把解压后的allure文件夹,设置成环境变量。添加allure到环境变量PATH(\安装路径\allure-commandline\bin)。

第三步,确认allure安装成功,在命令行输入:allure --version,能展示allure安装版本2.12.1即可。如果报错,可能是因为电脑中没有安装jdk1.8造成的,这时安装一个jdk1.8就好了。

第四步,通过pytest编写自动化测试脚本,如下图。编写pytest测试用例非常简单,只需要按照下面的规则:

· 测试文件以test_开头

· 测试类以Test开头

· 测试函数以test_开头

第五步,执行测试用例。点击Pycharm底部Terminal;或者打开dos窗口,切换到当前项目文件夹下,执行命令 pytest -s -q。Terminal应该能正常显示打印结果如下。

第六步,为了测试报告内容丰满,可以用第五步的方法,多创建一些测试用例。如下图,也可以把用例放到多个包里面。

第七步,创建好测试用例以后,在Terminal中执行命令:pytest -s -q --alluredir allure-xml。这时就会运行测试用例。-s表示允许终端在测试运行时输出结果,-q表示简化输出结果,--alluredir表示把生成的中间结果保存到allure-xml文件夹。

第八步,等测试用例执行完毕。继续在Terminal中执行命令:allure generate allure-xml -o allure-report --clean。这样就会根据allure-xml文件夹里的中间结果在allure-report文件夹中生成一个测试报告。

第九步,右键allure-report文件夹中的index.html文件,选择open in browser,再点击一个浏览器,比如chrome。

第十步,这时一个美观的测试报告就会显示如下了,快试试吧。

进阶篇--定制报告

这时,点击左侧导航栏中的‘功能’,展开以后,测试结果显示如下:

在这里,我们可以看到所有的测试用例直接显示为方法名,这样的可读性不好。我们可以通过allure自带的装饰器给这些测试用例重新用中文起名,并且分类。如下图:

为了实现上图的样式:allure提供了如下几个装饰器。@allure.feature('前台子系统') 表示第一层分组,一般用来表示测试用例属于哪个模块。@allure.story('注册功能')表示第二层分组,一般用来表示测试用例属于哪个功能。@allure.title('正常注册测试')用来表示测试用例的标题。@allure.description('输入正确的用户信息,注册账号')用来显示测试用例中的描述信息。具体代码如下图:

除了上面这些装饰器以外,allure测试报告中几乎支持手工测试用例的所有要素,比如操作步骤,预置条件,后置操作,附件截图等等。大家可以自己尝试一下,其他要素我们后续再讲。

高级篇--持续集成

在企业应用中,自动化测试往往需要频繁执行,比如每隔一小时自动执行测试一次。执行完成后应该发邮件提醒tester,tester只需要打开邮件就可以看到生成的测试报告。这又是怎么做的呢?

第一步,准备环境,大家前面应该已经安装过jdk了,我们从Tomcat官网下载最新的tomcat9,Jenkins官方网站下载最新的war包;也可以从我前面分享给大家的网址下载:https://pan.baidu.com/s/1YkgYpvfmH_I26ZPAJ1OF0A。

1.安装jdk

2.解压tomcat

3.复制jenkins.war到tomcat的webapps目录下

4.双击打开bin目录下面的startup.bat,这时会打开一个dos窗口,注意永远不要关闭这个窗口,否则就不能访问jenkins网站了。

5.等1分钟左右,打开浏览器,输入网址http://localhost:8088/jenkins/,多刷新几次,直到看到下图

6.根据网页中的提示,用记事本打开提示C:\Users\......\.jenkins\secrets文件夹中的文件initialAdminpassword。

7.复制文件中的内容到‘管理员密码’输入框中

8.点下一步

9.在custom jenkins页面选择suggested jenkins plugin(安装推荐的插件)。

10.等所有的插件下载好以后, 设置用户名和密码。

11.登录进入主界面。

第二步,进入到jenkins主界面以后,我们来创建第一个jenkins任务。

1.在主页点击“新建”

2.选择自由风格的软件项目

3.点击general配置中的‘高级’,选择‘自定义工作空间’,设置成你的项目路径,比如我的项目在这个路径中C:\Users\51Testing\PycharmProjects\changcheng。

4.在构建触发器中,选择window批处理程序,在jmeter输入框中,输入pytest -s -q。

5.勾选定时构建,输入0 18 15 6 1,表示测试用例将在6月15日星期一晚上18点正执行一次,这里可以写5个数字,每个数字之间用空格间隔。分别表示:分钟、小时、日期几号、几月和星期几。除了数字,也可用特殊符号表示时间:星号*代表所有有效取值、横线-表示从几到几、除号/表示间隔时间、逗号表示枚举。例如,要想每天晚上18点执行一次,可以写0 18 * * *。大家可以自行尝试,设置各种时间间隔。

第三步,Jenkins集成allure测试报告。

1.先安装Allure插件。打开Jenkins,首页点击‘系统管理’。

2.选择‘插件管理’。

3.选择‘可选插件’,搜索输入框输入Allure,搜索出来的名字就叫Allure,当安装后名字会变为Allure Jenkins Plugin。

4.jenkins配置页,选择‘全局工具配置’。

5.全局工具配置页下拉到最后一项,你会看到‘Allure Commandline’项, 按下图配置之后保存即可。

6.在构建触发器中,选择window批处理程序,在jmeter输入框中,把前面输入的pytest -s -q改成call pytest -s -q --alluredir ./allure-xml。

7.在‘构建后操作’(Post-build Actions)中选择allure report,输入Path名称allure-xml,这里的path名称表示在项目根目录下生成此文件夹,文件夹用来保存生成html报告之前的中间测试结果。

8.点击‘保存’,点击‘立即构建’。

9.运行结束后,点击‘Allure Report’,展示图如下:

这样我们就完成了pytest + allure + jenkins 的集成配置。更多jenkins高级功能,请期待我的后续文章。

python自动化测试报告 之 allure_Pytest+ Allure + Jenkins 自动化测试报告相关推荐

  1. jmeter添加html,Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告...

    目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...

  2. 【二十三】win 10 :Jmeter 报告可视化 —— 配置生成测试报告仪表板,Jmeter + Jenkins 自动化构建生成 HTML 报告

    目录 一.jmeter报告仪表板相关信息 二.文件修改说明 三.jmeter.properties文件配置 四.user.properties文件配置 五.新建jtl报告目录 六.复制jmeter.p ...

  3. pytest allure测试报告_Appium+pytest+allure+jenkins如何实现多台手机连接

    很多人可能想到的是多线程(threading). 今天分享一种比多线程更简单的方法,虽然不是多台手机同时运行,但可以连接多台手机依次运行. 大致的运行方式是:001号测试用例:A手机,B手机...,0 ...

  4. python自动化部署工具_Python + Allure(报告)+ Jenkins(持续集成)接口自动化测试环境搭建...

    (这个是内部分享文档,侧重于测试报告的生成以及持续集成,至于接口框架的内部组织可以按照自己的想法来实现,有问题欢迎留言) 1.环境: • 操作系统:windows 64位 • 软件环境:python3 ...

  5. 【python+selenium自动化】使用pytest+allure2完成自动化测试报告的输出

    pytest的pytest-html插件是一个很方便的测试报告,运行自动化测试用例时,pytest后加上参数即可 allure是一个测试报告的框架,相比pytest-html的优势就是"逼格 ...

  6. python接口自动化(二十九)--html测试报告通过邮件发出去——上(详解)

    简介 前边几篇,已经教小伙伴们掌握了如何生成HTML的测试报告,那么生成测试报告,我们也不能放在那里不管了,这样即使你报告在漂亮,领导也看不到.因此如果想向领导汇报工作,不仅需要提供更直观的测试报告. ...

  7. Pytest + Selenium + Allure + Jenkins搭建简单自动化框架

    1.环境搭建 1.1 安装python,配置环境变量 下载地址:https://www.python.org/downloads/下载需要的版本(3.7以上) 1.2安装pycharm 下载地址:ht ...

  8. python自动化框架测试实操_自动化框架之 python+selenium+pytest

    1.概述 selenium: 基于JavaScript代码库的自动化测试框架,通过脚本语言,模拟用户行为操作,最接近用户真实场景,实现对web自动测试. Selenium,是目前的最火爆企业最主流的w ...

  9. python怎么输出图像测试_【Python】使用Pytest集成Allure生成漂亮的图形测试报告

    前言 大概两个月前写过一篇<[测试设计]使用jenkins 插件Allure生成漂亮的自动化测试报告>的博客,但是其实Allure首先是一个可以独立运行的测试报告生成框架,然后才有了Jen ...

最新文章

  1. 记一下常用shell,防止自己忘了。。。记性不好
  2. int 9中断例程-;在屏幕中间依次显示'a'~'z',并可以让人看清。 在显示的过程中,按下Esc键后,改变显示的颜色...
  3. 前端javascripts基础知识点猴子吃桃
  4. 【2016年第5期】多“源”异“构”培养大数据创新型人才
  5. 数据可视化:常用图表使用总结
  6. MWC(2) Multiwii初学者详细准备
  7. 搭建SpringMVC详解
  8. python服务端处理post请求_使用JSON处理GET和POST请求的简单Python服务器
  9. Chrome清理网页缓存
  10. Excel一键取消合并单元格并向下填充相同的内容
  11. Grown Up Digital: How the Net Generation is Changing Your World
  12. pdf加页码java_Java 添加页码到PDF文档
  13. 关于.NET IQueryable.Join()
  14. 华为服务器维护客服,服务器客服
  15. Java高级开发必备--Docker进阶(一篇详细教程,进阶Docker)
  16. ASCLL码---阿斯科2码
  17. SpringBoot之配置文件YML
  18. Python 多项式预测2019年天猫销售额
  19. 智慧电力视频监控系统解决电力安全巡检难题
  20. oracle sql时间排序函数,sql的rank函数

热门文章

  1. 卸载centos7自带mysql_centos7完全卸载mysql
  2. 【重难点】【Redis 02】Redis 的持久化、Redis 的主从复制和集群、哨兵
  3. C++ 不能重载的运算符
  4. [openjudge6043]哆啦A梦的时光机
  5. 关于安装wordpress出现500 Internal Server Error的解决方案
  6. 简易版viewport
  7. 安卓模拟器切换横屏之后怎么返回竖屏
  8. 解决listview与scroll冲突,自定义listview高度
  9. fzu 1675 The Seventy-seven Problem
  10. 极致业务基础开发平台