httprunner3 中的断言与验证技巧
发布时间: 2023-12-25 07:09:35 阅读量: 34 订阅数: 30
### 1. 第一章:httprunner3 简介
#### 1.1 httprunner3 简介及基本概念
#### 1.2 httprunner3 中的断言与验证的重要性
在第一章中,我们将介绍httprunner3的基本概念,包括其在接口测试中的重要性以及断言与验证的作用。
## 第二章:断言与验证技巧介绍
### 第三章:基本断言操作
在使用httprunner3进行接口自动化测试时,断言与验证是非常重要的一环。合理的断言操作可以有效验证接口是否按照预期进行了请求和响应,下面我们将介绍httprunner3中相关的基本断言操作。
#### 3.1 响应码断言
在httprunner3中,我们可以通过设置`status_code`字段来对接口的响应码进行断言。以下是一个简单的示例代码:
```python
import requests
from httprunner import HttpRunner, Config, Step, RunRequest
class TestCaseDemo(HttpRunner):
config = Config(
base_url="https://httpbin.org"
)
teststeps = [
Step(
RunRequest(
url="/status/200",
method="GET",
name="get 200 status code",
expected_status_code=200
)
)
]
if __name__ == "__main__":
TestCaseDemo().run()
```
代码解析:
- 通过设置`expected_status_code`字段,我们可以断言接口响应的状态码是否为200。
- 如果接口返回的状态码与预期不符,httprunner3会自动抛出异常并标记为断言失败。
#### 3.2 响应头验证
除了对接口的响应码进行断言外,我们也可以对接口的响应头进行验证,来检查返回的头信息是否符合预期。下面是一个针对响应头验证的示例代码:
```python
class TestCaseDemo(HttpRunner):
config = Config(
base_url="https://httpbin.org"
)
teststeps = [
Step(
RunRequest(
url="/response-headers?key1=value1&key2=value2",
method="GET",
name="get response headers",
headers={"accept": "application/json"},
validate=[{"check": "headers.key1", "comparator": "equals", "expect": "value1"}]
)
)
]
if __name__ == "__main__":
TestCaseDemo().run()
```
代码解析:
- 通过设置`validate`字段,我们可以对返回的headers进行验证,判断是否包含了预期的key-value对。
#### 3.3 响应体断言
最常见的断言操作之一就是对接口返回的响应体进行验证。httprunner3提供了丰富的断言函数来支持对响应体的验证,包括对JSON、XML等不同格式的响应体进行断言。
```python
class TestCaseDemo(HttpRunner):
config = Config(
base_url="https://httpbin.org"
)
teststeps = [
Step(
RunRequest(
url="/get",
```
0
0