场景:请求中有一个随时间变化的值
解决:通过前置函数直接修改

  1. Step(
  2. RunRequest('新增学员')
  3. .setup_hook("${random_phone($request)}")
  1. # 传入request,通过时间戳来获取手机号并加入到request中
  2. def random_phone(request):
  3. num = str(int(time.time() * 100))[3:]
  4. phone = "18" + num
  5. 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