HttpRunner3.X

一、环境配置

1、安装:pip install httprunner

2、检验是否安装成功:hrun -V

3、在 HttpRunner 安装成功后,系统中会新增 4 个命令:

  • httprunner: 核心命令,用于所有函数
  • hrun:httprunner 的缩写,功能与 httprunner 完全相同,用于运行yaml/json/pytest测试用例
  • hmake:httprunner make的别名,用于将YAML/JSON测试用例转换为pytest文件
  • har2case:辅助工具,可将标准通用的 HAR 格式(HTTP Archive)转换为YAML/JSON格式的测试用例

二、创建httprunner项目

1、创建项目:httprunner startproject httprunner2_demo

可以cd到指定目录后,再创建,以下就是每个目录代表的含义:
  • debugtalk.py 放置在项目根目录下(借鉴了pytest的conftest文件的设计)
  • .env 放置在项目根目录下,可以用于存放一些环境变量
  • reports 文件夹:存储 HTML 测试报告
  • testcases 用于存放测试用例
  • har 可以存放录制导出的.har文件

2、运行项目的用例:hrun httprunner2_demo 或 pytest httprunner2_demo

3、将har文件转换成脚本,举例有文件test.har

  • 转yaml格式脚本:har2case test.har -2y
  • 转json格式脚本:har2case test.har -2j
  • 转pytest文件:har2case test.har

三、运行代码

  因为httprunner封装了pytest,所有既可以用hrun去运行,也可以用pytest去运行。
  举例有文件test_test.py
  • hrun运行:hrun test_test.py   (若想在日志控制台查看详细的接口返回信息,可以在命令加 -s ,即hrun -s test_test.py
  • pytest运行:pytest tetst_test.py

四、allure安装

1、安装python依赖包:pip3 install pytest-allure-adaptor

2、安装allure:pip install allure-pytest

执行命令后报错module 'pytest' has no attribute 'allure'的问题,解决方案如下:
  • 发现之前安装了pytest-allure-adaptor。
  • 如果存在安装过的pytest-allure-adaptor插件,
  • 先卸载:pip uninstall pytest-allure-adaptor
  • 重新安装allure-pytest:pip install allure-pytest
  • 如果上述方法安装不了,则改用豆瓣进行安装,格式为:pip install 库名 -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com

五、安装allure命令行工具

  下载allure(https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/),打开bin目录运行allure.bat,
配置环境变量后,在cmd运行allure,返回如下图,即安装成功

六、allure运行用例,生成测试报告

1、进入测试用例目录下,指定运行用例:

  • 测试文件:如果是填写文件名,默认是当前路径的文件,如果要运行指定文件,则测试文件要带上路径
  • reprort: 是用于存放的文件(默认是存放在当前路径,如果要存放在指定路径,则文件名要带上路径)
  • pytest运行的测试用例只能是.py格式,hrun运行的测试用例,可以是pytest格式,也可以是yml格式

步骤一:运行测试用例打开cmd,定位到hetest_re_test.py所在的目录下

  • pytest运行:pytest hetest_re_test.py --alluredir report
  • hrun运行:hrun hetest_re.yml --alluredir=report
  注:也可以在python的控制台直接输入命令,运行完后会在当前文件夹下生成测试结果文件夹 .pytest_cache、report

步骤二:生成报告

  • allure generate report # 默认在当前目录下生成allure-report文件
  • allure generate report -o allure-report --clean  #  --clean是为了清空已有的测试报告; -o allure-report 是指定清空测试报告的文件allure-report
 会在当前文件夹生成 allure-report 文件夹,包含HTML测试报告 index.html ,然后用浏览器打开查看

2、全部运行:pytest --alluredir report

  • 全部运行的是test_.*py的文件
  • pytest --alluredir report
  • 会在当前文件夹下生成测试结果文件夹 .pytest_cache、report
  • allure generate report
  • 同样会在当前文件夹生成 allure-report 文件夹,包含HTML测试报告 index.html,含所有测试用例结果数据

附上HttpRunner官方文档:https://docs.httprunner.org/

原文地址:https://www.cnblogs.com/Chilam007/p/15021573.html