Python+pytest做接口测试

该博客展示了如何利用Python的requests库对高德地图API进行输入提示功能的测试。通过设置关键词参数,如'肯德基','麦当劳','汉堡王',检查API返回的状态码和信息代码,确保请求成功并获取到正确的反馈数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码:

import requests,pytest


class Test_InputTip():

    def setup(self):
        self.key = "783d2338c4a709c364e51cce86d6ec3b"
        self.input_tip_url = "https://restapi.amap.com/v3/assistant/inputtips?"


    @pytest.mark.parametrize("keywords",["肯德基","麦当劳","汉堡王"])
    def test_input_tip(self,keywords):
        parameters = "key={}&keywords={}".format(self.key,keywords)
        r = requests.get(url=self.input_tip_url,params=parameters)
        try:
            assert r.status_code ==200,"请求失败!!!"
            response = r.json()
            assert response["status"] == "1","访问失败!!!"
            assert response["infocode"] == "10000","访问失败!!!"
        finally:
            print(r.status_code)
            print(r.json())

if __name__ == '__main__':
    pytest.main("-s test_InputTip.py")
### 使用 PythonPytest 进行接口测试时处理 YAML 文件的案例 #### 加载并解析 YAML 文件中的测试数据 为了使测试更加灵活和易于维护,通常会将测试数据保存在外部文件中。对于 Python 而言,可以采用 `yaml` 库加载 `.yml` 或者 `.yaml` 格式的文件。 ```python import yaml def load_yaml(file_path): with open(file_path, 'r', encoding='utf-8') as file: data = yaml.safe_load(file) return data ``` 此函数能够读取指定路径下的 YAML 文件,并将其转换为 Python 字典对象以便后续使用[^2]。 #### 将 YAML 数据应用于测试用例 下面展示了一个简单的例子,在这个例子中定义了名为 `test_api_with_yaml_data` 的测试函数,它接收由 fixture 提供的数据作为参数: ```python import pytest from pathlib import Path @pytest.mark.parametrize( "endpoint,payload", [(item['url'], item['body']) for item in load_yaml(Path('data/test_data.yaml'))] ) def test_api_with_yaml_data(endpoint, payload): response = requests.post(url=endpoint, json=payload) assert response.status_code == 200 # 更多断言语句... ``` 上述代码片段展示了如何从 YAML 文件中获取 API 请求所需的 URL 及负载信息,并通过 parametrize 实现多次调用同一个测试函数来验证不同输入条件下的行为[^4]。 #### 结合 Allure 输出详细的测试报告 当执行带有 YAML 参数化的测试之后,还可以借助 Allure 来生成美观且功能强大的 HTML 报告,帮助团队成员更好地理解测试结果以及失败原因[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lевгοи

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值