• 1
  • 1
分享

  应用场景:Allure Report报表以收集测试运行信息翔实、分类完整、显示美观受到了很多自动化测试朋友的青睐。有些企业可能没有完全集成到CICD上,也有的企业用的是Python, 这就要求我们测试人员要能灵活地根据实际状况配置Allure Report。今天介绍一下如何与pytest 结合快速生成一份报告在测试本机,期望能够为正在烦恼的自动化测试朋友提供一份帮助。(如果想配置Allure Report 在Jenkins, 您可以下载 Allure Plugin)

  温馨提示:如果阅读者想按示例进行操作,您一定要具备以下的配置。 

  ·自动化框架: Selenium + Python

  ·编译:pytest

  ·IDE: PyCharm

  安装 Allure Report on Windows

  1.下载Download Allure Report

  https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/

  去到以上链接然后点击下载最新的allure 版本。(2.13.5)

Y1.png


  下载最新 allure-commandline-2.13.5.zip 文件

Y2.png


  解压下载的allure-commandline-2.13.5.zip 文件到合适的路径(注:此例中放到了D 盘)

Y3.png


  2.配置 系统环境变量Set System environment variable

  打开System Properties > Environment variables > system variables > Path > Edit 

  添加一条新记录:D:\allure-2.13.5\bin 并保存,然后关闭打开的所有对话框 (注:这就是解压后allure report path)



  验证Allure Report 

  1.打开Command Prompt, 执行以下命行:allure --version

  如果配置正确,您会看到当前allure 的版本信息。

Y6.png


  安装Allure-pytest

  1.项目设置Project Settings

  依次打开File> Settings > Project: > Python Interpreter (注:假设您已经建立一个pytest的项目)

  点击右面的+ , 在Available Packages 对话框 中查找并安装Allure-pytest。确认安装成功以后,依次关闭打开的Settings对话框。


  建立测试脚本Sample test script

  1.使用截图 take screenshot

  以下显示的是测试用例截取运行图片的代码:

Y9.png

  2.Test case link的使用:

Y10.png

  3.使用@allure.时的提示,这里有很多实用的annotation 可以供测试人员添加。

Y11.png

  运行测试Run test script

  执行下面的命令:

  pytest -v -s --alluredir="D:\SeleniumPythonProject\allurereporttest\allurereport\result" allurereport/test_allure_report.py  (注:result 文件夹在第一次运行时会自动生成, 这里一定要是绝对路径。)

Y12.png

  下图运行脚本以后的完整结果。可以看到1个用例失败,2 个用例成功。

Y13.png

  设置运行环境参数Environment

  设置运行环境参数通过Environment.properties (or environment.xml ), 个人偏好用Environment.properties ,主要是觉得易读,易写。把创建好的文件放在生成的报告目录下:

  (注:在本例中,生成报告目录D:\SeleniumPythonProject\allurereporttest\allurereport\result,在CICD 的配置中,通常会自动生成这个文件由于运行的环境、系统的不同,然后通过写段代码复制这个文件到对应的目录在测试脚本运行结束以后。)

Y14.png

  生成Allure Report

  在打开的command prompt 下, 执行命令:

  allure serve D:\SeleniumPythonProject\allurereporttest\allurereport\result (注:本例的路径就是运行测试中生成报告的目录)

Y15.png

  以上命令执行成功以后,Allure Report 会自动打开在您的浏览里。如下图所示,本演示中3 个用例,1个失败,2 个成功。Environment 显示了当前设置的测试环境参数。

Y16.png

  下面这张图显示了用例中自定义抓取的图片。这个非常有用,当我们设置了浏览器为headless 或用CICD运行测试时,这些抓取到的图片就能让我们准确地定义到当时发生了什么,视觉效果特别强吧。如果是哪里有BUG了,再也不用重复测试了。

Y17.png

  看看运行失败用例的信息吧,我们使用test case link (这个链接是可以点击的哦。),可以快速地对应到执行的用例,是不是创建bug时特别节省时间啊。

Y18.png


作者:胡英军

来源:51Testing软件测试网原创

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 一、unittest自动化测试结构二、代码实现1、导入需要的一些前置方法,用以获取cookie,生成测试数据等# coding=utf-8 import sys sys.path.append('..') # 导入前置方法(登录接口获取cookie;通用的方法,如生成随机字符串、手机号;一些常用的参数设置等) import PreProcessing as p from PreProcessing import *2、初始化 接口地址、机构、用户、数据库等初始化要查询的数据库,参考htt...
            13 13 2076
            分享
          •   送你一套免费的性能测试框架搭建的课程!省下的300块,去吃一顿热气腾腾的火锅吧!点击下方链接,答问卷,领课程。链接:http://vote.51testing.com/  一.背景  对于大数据相关项目的测试,往往需要大量的测试数据,而场内测试时很难获取那么大批量的真实数据,这个时候需要测试人员能够快速模拟出符合要求的测试数据。这个时候要是有一个自动化工具或测试脚本简直不要太爽~  二.问题引入  对于互联网大数据测试,当需要快速模拟以万为单位的用户数据(包括用户名、ip地址、主机名、访问url等)时,有什么方法可以推荐吗?  这个时候你一定要试试python的fake库,简单方便,用了的...
            0 0 1518
            分享
          • Robot Framework是一款Python编写的功能自动化测试框架,它是开源的。搭建了Python环境后,可以接着搭建Robot Framework。 Robot Framework 有几大特点:1)使用简单;2)非常丰富的库;3)可以像编程一样写测试用例;4)支持开发系统关键字。 以Windows环境为例,我们来安装Robot Framework: 1)  安装Python2.7:https://www.python.org/ (参考前面的分享《关于Python + Selenium...
            2 3 3024
            分享
          •   我经常与一些客户打交道,他们的测试自动化要么刚刚开始,要么正在努力成长,而且他们常常都犯同样的致命错误。  虽然他们可能了解测试自动化的基础知识,但是他们仍然认为脚本化测试的价值在于通过自动执行脚本而不是手工执行来节省时间。他们的理由是,如果自动化脚本执行速度比人类执行速度快,那么最大的效率收益应该来自于自动化运行时间最长的测试。  如果执行时间是衡量价值的唯一时间,那么他们是对的。  但是测试执行时间只是一个与时间相关的问题,还需要考虑编写自动化测试所需的时间,以及学习如何编写测试所需的时间。当团队将大型测试简化为更小、更短的测试时,他们更容易取得成功,你可以从这个非常识性的想法中获益。...
            0 0 818
            分享
      • 51testing软件测试圈微信