跟着案例敲,随意记录记录啦~
新手上路,若笔记有问题,还请诸位大佬不吝赐教~
1、我用的是fiddler(Charles也差不多),选中我要练习的接口,点击file里面的导出选中,格式选择HTTPArchive v1.2;导出来的har格式,用har2case login.har
转成json格式,或者用har2case login.har -2
转成yaml格式。然后就开始可劲造吧~
2、用httprunner自动生成脚手架(hrun --startproject demo
),在这个基础上增删
3、我用yaml格式练习,之前没有接触过yaml,姑且先用着学着吧~
1、把login.yaml放到testcases下,在命令行(把位置切到demo下)中输入hrun ./testcases/login.yaml
会在当前目录下的report里面生成报告(在哪里执行命令在哪里建个文件夹report(有的话就不新建),这里要注意执行位置)
2、hrun 命令里面还能(这里列的是我目前认为会经常用到的,其他的还有具体用法什么的就 hrun -h
看吧):
1、变量声明的关键字是:variables
2、参数化关键字是:extract
3、后续变量引用:$ + 变量名称
4、方法一般放在debugtalk.py下,这个名字不能修改(准确说是我还不会修改);
5、yaml的嵌套使用正在研究中,当前我所了解到的嵌套一般处于:
testsuits嵌套testcases,testcases嵌套testcases、或者api(这里我指的是httprunner脚手架中的文件夹名字)
config:
name: testsuite description
testcases:
testcase1_name:
testcase: /path/to/testcase1
testcase2_name:
testcase: /path/to/testcase2
HttpRunner的数据驱动小小的探究了一下,继续记录~ ~
在testsuites下面的的loginsuit.yaml
config:
name: login testsuites
testcases:
login:
testcase: ../testcases/login.yaml
parameters:
# 指定单个参数
username: ['13812345678','13912345678']
# 两个关联参数
username-password:
- ['13812345678','e10adc3949ba59abbe56e057f20f883e']
- ['13912345678','e10adc3949ba59abbe56e057f20f883e']
# csv 单个参数
username: ${P(../data/user.csv)}
# csv 两个关联参数
username-password: ${P(../data/user-pwd.csv)}
# 函数获取两个关联参数
username-password: ${get_user_pwd(2)}
../
表示上一级,避免使用绝对路径,尽量使用相对路径。-
放在参数间${P(../data/user-pwd.csv)}
# 指定单个函数
def get_user():
return [
{"username": 13812345678},
{"username": 13812345679}
]
# 两个关联参数
def get_user_pwd(num):
user_pwd = []
for index in range(1, num+1):
user_pwd.append(
{"username": "1381234567%s" % index, "password": 'e10adc3949ba59abbe56e057f20f883e'},
)
return user_pwd
另:如果parameters中的参数有多个(比如:3个参数),每个参数都对应多个值(比如:三个参数分别对应2个值、3个值、4个值),最后用例执行个数为他们的笛卡尔积(即:234=24个)