E01_HttpRunner断言:validate 总述

E01_HttpRunner断言:validate 总述

 

一个完整的测试用例中应该包括“预期结果”和“实际结果”字段,而二者内容是否一致,是判断测试用例是否执行通过的标准。在自动化测试中,这个判断过程是由“断言(Assert)”来实现的。HttpRunner 框架中提供了多种类型的断言以供使用。

E01_HttpRunner断言:validate 总述_第1张图片

 

 

在 HttpRuner 框架源码中主要有三个文件涉及断言相关内容:

  • httprunner-2.5.5\httprunner\validator.py
  • httprunner-2.5.5\httprunner\parser.py
  • httprunner-2.5.5\httprunner\builtin\comparators.py

 

 

首先阅读 validator.py 文件,一共有 5 种格式可以用于断言处理:

  1. 对变量内容进行断言
  2. 对引用的函数进行断言
  3. 对字典(dict)或列表(list)进行断言,而且可能包含了变量和函数
  4. 对由分隔符连接的字符串进行断言
  5. 对正则表达式进行断言

 

其中,如果被断言的对象如果是 dict 或者 list,则按 1-3 项方式处理,否则按 4、5 项方式处理。

 

validator.py 源码文件及分析如下图所示:

E01_HttpRunner断言:validate 总述_第2张图片

 

HttpRunner 断言支持两种格式:

  • {"comparator_name": [check_item, expect_value]}
  • {"check": check_item, "comparator": comparator_name, "expect": expect_value}

 

 

以访问百度首页为例,对返回的响应状态码进行断言

- config:
    name: TestCase

- test:
    name: TestStep -1
    request: 
      url: https://www.baidu.com/
      method: GET
      headers:
        User-Agent: 'ozilla/5.0 (Windows NT 6.1; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0'

    validate:
        # 断言写法一, 判断返回的响应状态码是否为200
        - eq: [status_code, 200]

        # 断言等价写法二
        -  
            check: status_code
            comparator: eq
            expect: 200

 

 

用例执行后查看测试报告,两个验证完全相同。

E01_HttpRunner断言:validate 总述_第3张图片

 

你可能感兴趣的:(接口自动化测试之,-,HttpRunner框架)