1、基本规则
API接口定义必须放置在api目录下
模块定义必须放置在suite目录下
测试场景文件必须放置在testcases目录下
相关的函数定义放置在debugtalk.py中
-
变量的申明和引用 在 HttpRunner 中,支持变量申明(
variables
)和引用($var
)的机制。在 config 和 test 中均可以通过 variables 关键字定义变量,然后在测试步骤中可以通过$ + 变量名称
的方式引用变量。区别在于,在 config 中定义的变量为全局的,整个测试用例(testcase)的所有地方均可以引用;在 test 中定义的变量作用域仅局限于当前测试步骤(teststep)。 -
数据参数化
-
数据驱动
2、运行用例过程中开启fidder,不然会报错
3、报错expected <block end>, but found BlockMappingStart
yml 文件的内容格式问题,解决方法:
在配置文件yml中:
扫描二维码关注公众号,回复:
6062864 查看本文章
每个配置行前需要有空格
每个: 两边需要有空格
数组中间加空格
还有注释掉的参数不能在#后边加空格不然报错
4、header 中添加referer
如果后端对访问进行了限制,导致无法直接调口时,需要在config-headers中加入Referer字段,写入地址链接
api:
def: clearImportData($cookie, $userNo)
variables:
- uri: "/pro/roomImport/clearImportData/$userNo"
request:
url: $uri
headers:
Referer: XXXXXXXXXX
method: GET
5、上传文件 multipart/form-data方式
比如导入excel文件,content-type很重要,一定要写正确
- api:
def: importRoom($cookie, $userNo)
name: "导入数据"
variables:
- uri: "/pro/roomImport/importRoom"
- field_name: 'hello.xls'
- filePath: ${get_dir($field_name)} #获取文件的相对路径
- file1Data: ${get_file_std($filePath)} #open 读取文件
- file_type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
request:
url: $uri
method: POST
files:
userNo: [null, $userNo] #userNo是根据不同的登录用户动态获取
file: [$field_name,$file1Data,$file_type]
headers:
Referer: XXXXXXX