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

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

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

第一步,安装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-commandlinebin)。

第三步,确认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.......jenkinssecrets文件夹中的文件initialAdminpassword。

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

8.点下一步

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

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

11.登录进入主界面。

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

1.在主页点击“新建”

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

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

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高级功能,请期待我的后续文章。

关注公众号:Atstudy网校,获得更多干货,提升it技能,从不会到熟练只差一步。

生成报告配置xml_升职加薪利器:Python+Pytest框架在Jenkins上生成Allure测试报告相关推荐

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

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

  2. python自动化测试生成报告_使用python测试框架完成自动化测试并生成报告-实例练习...

    练习一: 使用unittest 完成自动化测试并使用HttpTestRunner生成报告 ''' 1.写个简单的计算器功能,大小写转换功能,随机生成字符串功能 2.编写测试用例,不同的数据(你能想到的 ...

  3. python测试脚本实例-使用python测试框架完成自动化测试并生成报告-实例练习

    练习一: 使用unittest 完成自动化测试并使用HttpTestRunner生成报告 ''' 1.写个简单的计算器功能,大小写转换功能,随机生成字符串功能 2.编写测试用例,不同的数据(你能想到的 ...

  4. python pytest框架

    一.pytest单元测试框架 1. 什么是单元测试框架    单元测试是指在软件开发当中,针对软件的最小单位(函数.方法)进行正确性的检查测试. 2.单元测试框架    Java:junit和test ...

  5. Python pytest框架之@pytest.fixture()和conftest详解

    一.fixture简介 学pytest就不得不说fixture,fixture是pytest的精髓所在,类似unittest中setup/teardown这种前后置东西.但是比它们要强大.灵活很多,它 ...

  6. 使用python flask框架开发图片上传接口 详细案例

    python版本:3.6+ 需要模块:flask,pillow 需求:开发一个支持多格式图片上传的接口,并且将图片压缩,支持在线预览图片. 目录结构: app.py编辑内容: from flask i ...

  7. 【5G NR】CSI框架—报告配置

    文章目录 前言 1. 概述 2. CSI报告的配置框架 3. CSI报告的时域配置 3.1 周期性CSI报告 3.2 基于PUCCH的半持续CSI报告 3.3 基于PUSCH的半持续CSI报告 3.4 ...

  8. Python + Appium框架原生代码实现App自动化测试

    Step1:首先介绍下python+appium的框架结构 如下截图所示 (1):apk目录主要放置待测app的apk资源: (2):config目录主要放置配置文件信息,包含:数据库连接配置.UI自 ...

  9. python自动化框架pytest接口关联串联_基于python接口自动化框架搭建_pytest+jenkins+allure...

    本接口测试框架使用python语言实现,基于pytest测试框架,同时集成Jenkins和Allure 核心特性 封装requests请求,使用装饰器模式 详细的请求日志输出 环境与数据隔离,实现不同 ...

最新文章

  1. 093_Element.getBoundingClientRect()方法和DOMRect对象
  2. android bootloader阶段GPIO的控制
  3. 为 Vim 编辑器开发定制插件
  4. Chinese savior crepe
  5. C++ 类的抽象初练
  6. Microsoft 邀您参加云对话!
  7. Tcl与Design Compiler (二)——DC综合与Tcl语法结构概述
  8. 马化腾又要发红包!648亿港元,最多腾讯2%股份,我酸了...
  9. TIOBE 4月编程语言排行榜:C++重回前三,PHP下降明显
  10. java单词转化为数组_java中数组与List相互转换的方法
  11. aws s3 连接建立
  12. IO流之流的操作规律
  13. 其他进制转化为十进制 详解
  14. FCKeditor的JSP版漏洞
  15. Arcgis中按照cass标准分幅图框进行批量正射影像DOM分幅裁剪并命名
  16. 转置卷积(Transposed Convolution)
  17. u盘文件名乱码linux,U盘文件名乱码的原因和解决办法
  18. 零代码的科普算法书《未来算法》读后
  19. 怎么注册一个电子邮件账号?电子邮件地址怎么写?
  20. H.264 AVCC header

热门文章

  1. Intellij IDEA 安装jnetpcap开发环境与 no jnetpcap in java.library.path 的解决方案
  2. ad16自动布线设置规则_电路板设计技巧:七大步骤确定PCB布局和布线
  3. 西奥服务器修改楼层参数,西奥FOVF梯调试介绍.doc
  4. android studio怎么输入中文,Android studio 模拟器中输入中文
  5. hdfs存储与数据同步
  6. C++ 洛谷 P2704 [NOI2001]炮兵阵地
  7. ArchLinux安装Gnome桌面
  8. 2018第九届山东省ACM省赛
  9. Spring 7大功能模块的作用[转]
  10. Objective-C 一些很基础的总结