httprunner学习06-validate断言的多种方法

前言:最近在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: "[email protected]"
        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学习06-validate断言的多种方法_第1张图片

总结:
httprunner是一门强大的自动化接口测试框架,本身的许多功能,官方文档上也没有进行详述,只能是留待使用者在实际测试工作中摸索。
传送门:
httpruner框架视频课程

你可能感兴趣的:(学习笔记)