欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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学习06-validate断言的多种方法

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