博客
关于我
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/

    你可能感兴趣的文章
    python手把手视频_硬货 | 手把手带你构建视频分类模型(附Python演练))
    查看>>
    python 录音左右声道_Python分离立体声wav压缩文件的左右声道
    查看>>
    Python 循环异或对文件进行加解密
    查看>>
    Python开发环境搭建(附VMware安装包及虚拟机环境)
    查看>>
    python 微信扫码登录_python实现微信第三方网站扫码登录(Django)
    查看>>
    Python 快速下载依赖
    查看>>
    python实现非参数统计的Cochran检验 (附完整源码)
    查看>>
    python 怎么验证是否安装成功 scrapy
    查看>>
    Python 手写数字识别-1
    查看>>
    Python实现接口自动化测试库(JSON与Requests)详解
    查看>>
    Python 手写数字识别-3-sklearn中的几种算法
    查看>>
    python实现SSIM和MSSSIM计算 (附完整源码)
    查看>>
    Python 打开文件注意事项
    查看>>
    python 批量修改文件名_python windows下批量修改文件名
    查看>>
    Python 抓取网页乱码问题 以及EXCEL乱码
    查看>>
    python 抓取网页内容
    查看>>
    python 按照当前日期创建文件
    查看>>
    Python 接口并发测试详解
    查看>>
    Python 接口自动化 —— requests框架
    查看>>
    python 接口自动化数据结构(如列表、字典、元组)
    查看>>