场景:请求中有一个随时间变化的值
解决:通过前置函数直接修改
Step(
RunRequest('新增学员')
.setup_hook("${random_phone($request)}")
# 传入request,通过时间戳来获取手机号并加入到request中
def random_phone(request):
num = str(int(time.time() * 100))[3:]
phone = "18" + num
request['req_json']['phonenumber']=phone
allure报告
allure-pytest是HttpRunner的可选依赖项,所以如果想生成allure报告时,需要单独安装:
pip install allure-pytest
或者在安装httprunner时选择安装:
pip install “httprunner[allure]”
一旦allure-pytest安装好,可以用hrun/pytest使用如下功能: —alluredir = DIR:在指定目录中生成“魅力”报告(可能不存在) —clean-alluredir:清理alluredir文件夹(如果存在) * —allure-no-capture:不要将pytest捕获的日志记录/ stdout / stderr附加到报告中
要使Allure侦听器能够在测试执行期间收集结果,只需添加—alluredir选项,并提供指向应存储结果的文件夹的路径。 例如。:
$ hrun /path/to/testcase —alluredir=/tmp/my_allure_results
注意:这里需要安装allure ,并配置系统环境变量 要在测试完成后查看实际报告,您需要使用Allure命令行实用程序从结果生成报告。
在线打开报告
$ allure serve /tmp/my_allure_results
生成html报告
allure generate reports/allure -o reports/allure/html