httprunner运行坑


踩坑记录:

1.手动编写pytest用例,时,文件名需用‘_test’结尾,否则使用hrun命令运行文件,会报错
httprunner.cli:main_run:49 - No valid testcases found, exit 1

因为httprunner生成的pytest用例文件是默认用——test结尾,所以它只认识_test结尾的文件为测试文件,这样可以使用任何pytest的执行方式用hrun运行了

2.allure报告坑
pytest/hrun testcases/flow_test.py --alluredir=reports/allureport

注意:产生报告前最好把allureport文件夹删除掉,
之前生成的结果文件会在里面,如果没有被覆盖,报告会不准确

hrun执行命令后,查看报告可能会提示

 OSError: [WinError 6] 句柄无效。,此时改用pytest命令运行
3:环境变量.env文件

.env 文件来针对不同的运行环境作不同的设置
windows系统使用set命令来设置和获取环境变量的值
设置环境变量:set username=‘admin’;查看环境变量值:set username
python获取环境变量使用os模块,所有环境变量会存放在os.environ对象中os.environ.get(‘username’)
cmd命令下对环境变量的修改值再当前窗口有效,并不是永久修改,关闭cmd窗口后不起作用
在cmd设置的环境变量没法存储,所以需要创建用过.env文件来存放环境变量,存储采用 name=value 的格式
接下来在debugtalk.py中写一个ENV函数,用于读取环境变量,用于在 YAML/JSON /pytest脚本中直接引用环境变量

# debugtalk.py
import os
def ENV(keyname):
'''
获取环境keyname对应的值
:return:
'''
value = os.environ.get(keyname, '')
return value

(在 HttpRunner 2.x版本中内置了函数 environ(简称 ENV))
HttpRunner 运行时,会自动将.env文件中的内容加载到运行时(RunTime)的环境变量中,然后在运行时中就可以对环境变量进行读取了
使用${ENV(username)}

4.运行路径坑

在命令行cli方式运行时,最好进入项目路径下运行命令,不然在加载env文件时可能会报错,没有加载env文件内容
建议:
image
如果在下面这种路径方式,有可能就会报错了,因为可能因为路径关系没有成功加载env文件,后续有取值就会报错
image


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM