httprunner学习06-validate断言的多种方法
程序员文章站
2022-04-16 09:59:24
...
前言:最近在B站刷到了柠檬班的httprunner教程,抱着复习httprunner框架的心态,把这门课程从头到尾看了一边,还真的学到了一些新的东西。废话不多数,开始正文。
测试用例内容:
- name: 001 添加用户成功
api: api/cmc/System_Manage/user_manage/cmc_user_add.yml
variables:
userId: "wpc02"
account: "wpc02"
name: "wpc02"
password: "LD9KcSQ1OOhzugl61qliMQ=="
sex: 'false'
phone: "010-1234567"
mobile: "18262144550"
email: "aaa@qq.com"
company: "test"
remark: "this is a test"
validate:
- eq: [status_code, 200]
- eq: [content.success, true]
- eq: [content.message, 添加管理员成功]
上文示例中,使用validate对接口返回参数进行等值校验。
status_code为200,意味着接口调用成功,返回200 OK。还可以对返回内容的message做校验,基本上满足了日常测试的需求。
但是,httprunner还支持的断言方法不止于此。由httprunner3.0 源码parser_test.py文件可知,httprunner还支持以下的断言方法:
def test_get_uniform_comparator(self):
self.assertEqual(parser.get_uniform_comparator("eq"), "equals")
self.assertEqual(parser.get_uniform_comparator("=="), "equals")
self.assertEqual(parser.get_uniform_comparator("lt"), "less_than")
self.assertEqual(parser.get_uniform_comparator("le"), "less_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("gt"), "greater_than")
self.assertEqual(parser.get_uniform_comparator("ge"), "greater_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("ne"), "not_equals")
self.assertEqual(parser.get_uniform_comparator("str_eq"), "string_equals")
self.assertEqual(parser.get_uniform_comparator("len_eq"), "length_equals")
self.assertEqual(parser.get_uniform_comparator("count_eq"), "length_equals")
self.assertEqual(parser.get_uniform_comparator("len_gt"), "length_greater_than")
self.assertEqual(parser.get_uniform_comparator("count_gt"), "length_greater_than")
self.assertEqual(parser.get_uniform_comparator("count_greater_than"), "length_greater_than")
self.assertEqual(parser.get_uniform_comparator("len_ge"), "length_greater_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("count_ge"), "length_greater_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("count_greater_than_or_equals"), "length_greater_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("len_lt"), "length_less_than")
self.assertEqual(parser.get_uniform_comparator("count_lt"), "length_less_than")
self.assertEqual(parser.get_uniform_comparator("count_less_than"), "length_less_than")
self.assertEqual(parser.get_uniform_comparator("len_le"), "length_less_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("count_le"), "length_less_than_or_equals")
self.assertEqual(parser.get_uniform_comparator("count_less_than_or_equals"), "length_less_than_or_equals")
从上文可以看到,validate支持等于、不等于、少于、多余等多种规则的校验。
.举个栗子:
总结:
httprunner是一门强大的自动化接口测试框架,本身的许多功能,官方文档上也没有进行详述,只能是留待使用者在实际测试工作中摸索。
传送门:
httpruner框架视频课程
上一篇: (自兴人工智能)pythony元组
下一篇: C#实现AStar寻路算法