一、环境配置
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 demo
可以cd到指定目录后,再创建,以下就是每个目录代表的含义:- debugtalk.py 放置在项目根目录下(借鉴了pytest的conftest文件的设计)
- .env 放置在项目根目录下,可以用于存放一些环境变量
- reports 文件夹:存储 HTML 测试报告
- testcases 用于存放测试用例
- har 可以存放录制导出的.har文件
2、运行用例:hrun demo 或 pytest 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,打开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
步骤二:生成报告
- allure generate report # 默认在当前目录下生成allure-report文件
- allure generate report -o allure-report --clean # --clean是为了清空已有的测试报告; -o allure-report 是指定清空测试报告的文件allure-report
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/