博客
关于我
python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
阅读量:796 次
发布时间:2023-03-07

本文共 1587 字,大约阅读时间需要 5 分钟。

通过编写接口自动化测试用例,厘清思路

一、明确测试对象

在进行接口自动化测试之前,我们需要明确测试的目标。为此,我们需要知道接口的具体信息,包括功能、协议、URL、请求方法、请求参数、响应参数等。这些信息通常可以通过接口文档获取,或者在没有文档的情况下使用抓包工具如Fiddler进行捕获。

抓取接口信息示例:

  • 请求URL:https://weathernew.pae.baidu.com/weathernew/pc
  • 请求方式:GET
  • 请求参数:{"query": "浙江杭州天气", "srcid": 4982}

通过抓包,我们可以获取到接口的详细信息,确保后续测试有明确的目标。

二、编写测试用例

编写测试用例时,我们需要将代码进行封装,以便管理和执行多个测试用例。Python中的pytest框架提供了强大的测试框架,支持单元测试和集成测试。

测试用例封装示例:

import requestsclass TestWeather:    """校验百度天气查询接口:https://weathernew.pae.baidu.com/weathernew/pc"""        def test_get_weather_normal(self):        """正向校验-查询存在的城市的天气"""        url = "https://weathernew.pae.baidu.com/weathernew/pc"        params = {"query": "浙江杭州天气", "srcid": 4982}        res = requests.get(url=url, params=params)        assert res.status_code == 200        assert "window.tplData" in res.text        def test_get_weather_error(self):        """异常校验-查询不存在的城市的天气"""        url = "https://weathernew.pae.baidu.com/weathernew/pc"        params = {"query": "微信公众号:测试上分之路", "srcid": 4982}        res = requests.get(url=url, params=params)        assert res.status_code == 200        assert "window.tplData" not in res.text        assert "暂未开通此城市查询" in res.text

关键点:

  • 请求数据:正向请求和异常请求的参数不同,需要分别处理。
  • 断言设置:确保接口返回的状态码和内容符合预期,例如:
    • 正向请求:状态码为200,返回window.tplData内容。
    • 异常请求:状态码为200,但不返回window.tplData内容,同时返回错误提示信息。

三、执行脚本获取测试结果

使用pytest框架管理测试用例,可以通过简单的命令执行多个测试用例。例如:

pytest test_weather.py -v

四、总结

通过以上步骤,我们可以清晰地看到接口自动化测试的流程:

  • 明确测试对象:获取接口的详细信息,包括URL、请求参数和响应参数。
  • 编写测试用例:将测试逻辑封装到类或函数中,并设置断言以验证接口的行为。
  • 执行测试:使用 pytest 等框架执行测试用例,获取测试结果。
  • 优化测试:根据测试结果反馈,调整测试用例,确保接口的稳定性和可靠性。
  • 通过这种方法,我们可以系统地进行接口自动化测试,确保接口的正确性和稳定性。

    转载地址:http://ugofk.baihongyu.com/

    你可能感兴趣的文章