httprunner 确实使用起来还是很方便的,可以快速的响应一个自动化测试的需求,而大大程度上降低了测试人员对代码的要求,而且使用的范围也非常广,学习一下httprunner的使用
httprunner目前已经更新到3.X了,很多指令都变了,所以在进行对应的操作的时候最好先help一下,看下现在的指令说明。
1.安装HttpRunner
1.打开cmd
2.安装:pip install httprunner
ps:建议使用国内源,推荐清华、豆瓣,防止出现timeout失败
安装前先检查自己的python版本,最好3.4或者以上的,低版本的不支持
如果你需要使用最新的开发版本,那么可以采用项目的 GitHub 仓库地址进行安装:$ pip install git+https://github.com/HttpRunner/HttpRunner.git@master
升级 使用-U指令:
pip install -U HttpRunner
pip install -git+https://github.com/HttpRunner/HttpRunner.git@master
3.安装校验:在cmd输入hrun命令:hrun -V
ps: 如果安装的时候提示成功,但是查询版本报错,提示你指令不正确,需要使用httprunner -V进行查看,因为httprunner3.0以后的使用指令发生了变化
4.如果要对httprunner进行开发调试,还需要用到pipenv对依赖包进行管理
1.安装pipenv:$ pip install pipenv
2.获取httprunner源码:$ git clone https://github.com/HttpRunner/HttpRunner.git
3.进入仓库目录,安装所有依赖:$ pipenv install --dev
4.运行单元测试,若测试通过,则环境正常:$ pipenv run python -m unittest discover
5.调试运行方式:
# 调试运行 hrun$ pipenv run python main-debug.py hrun -h
# 调试运行 locusts$ pipenv run python main-debug.py locusts -h
2.创建项目工程
1.基础使用
在cmd命令行中,使用hrun --startproject 指定项目名称
例如:hrun --startproject LearnHttpRunner
ps:同理,如果指令不识别,使用httprunner startproject LearnHttpRunner
回自动化创建如下目录和文件:
api目录:用于存放用例的最小单元(一般为正向用例)
debugtalk.py文件:用户定义python函数,进行相关处理
reports目录:用于存放测试报告
testcases目录:用于存放每个接口的用例(设计测试步骤和依赖)
testsuite目录:用于存放多个测试用例(来实现数据驱动&参数化)
.env文件中,用于定义环境变量,可以在全局调用
debugtalk.py:创建python代码,加密签证在这里做
之后我们打开下载好的文件(文件下载到了你当前的文件类路径)
httprunner支持yml、json两种格式文件。
以yml为例:
根据自己的测试信息进行对应项的输入即可。
如果数据是form表单形式,将json改成data,对应修改请求头当中的Content-Type。
2.variables的使用
可以通过定义base_url增加代码的灵活性,request中的url不是http开头的时候,会自动寻找base_url进行拼接。
3.
4..evn文件的使用
在.env文件中以变量名:变量值的形式创建环境变量。
使用方式:
key:${ENV(变量名)}
5.debugtalk的使用
调用方法:${方法}
3.运行测试
使用hrun执行测试:hrun 文件路径+文件名
ps:httprunner3请使用: httprunner run 文件路径+文件名
4.测试报告
执行成功后,查看打印信息,看报告生成的路径,进行查看。
可以在执行的时候在命令后面加上--log-level debug来调整日志的等级
详细日志中有详细的请求信息喝响应结果等等。
可以查看源码,进行更多拓展,testcases中可以进行测试步骤的定义,需要有登录信息的接口可以在步骤中说明在登录后执行,testsuites中可以进行用力的参数化,也可以在文件中对参数说明后在testsuites下面引用,或者在debugtalk.py中定义函数动态生成参数,在testsuites下引用。
在根目录下创建函数,可以通过引入httprunner,自定义函数,通过模块来执行测试,就可以不通过命令行执行了。