使用python模块requests+ddt+unittest模块 单元测试,写出如下接口的接口自动化测试脚 本。 域名http://8.130.46.86:8081/ 路径:/appapi/luckDraw 方法:post 参数格式:application/json 接口说明:输入手机号和活动id参加抽奖
时间: 2023-06-08 17:06:57 浏览: 124
基于python requests + unittest 实现的接口自动化测试脚本+源代码+文档说明
5星 · 资源好评率100%
好的,我理解了。以下是给您提供的测试脚本示例:
```
import unittest
import requests
import json
from ddt import ddt, data, file_data, unpack
@ddt
class LuckDrawTest(unittest.TestCase):
url = "http://8.130.46.86:8081/appapi/luckDraw"
@data(("13612345678", 1), ("13887654321", 2), ("13999999999", 3))
@unpack
def test_luck_draw(self, mobile, activity_id):
headers = {"Content-Type": "application/json"}
data = {"mobile": mobile, "activity_id": activity_id}
response = requests.post(self.url, headers=headers, data=json.dumps(data))
self.assertEqual(response.status_code, 200)
response_json = response.json()
self.assertIn("code", response_json)
self.assertIn("msg", response_json)
self.assertIn("data", response_json)
if __name__ == "__main__":
unittest.main()
```
测试脚本说明:
- 在 LuckDrawTest 类中,定义了一个类变量 `url`,表示接口路径。
- 在 `test_luck_draw` 方法中,使用 `@data` 装饰器传入多组测试数据作为输入参数,并使用 `@unpack` 将测试数据拆分为多个参数。
- 在测试方法中,使用 `requests.post` 方法来发送 POST 请求,将测试数据作为请求体传入。并且校验了返回的状态码、响应体包含的字段。
- 在 `__main__` 方法中,使用 `unittest.main()` 运行测试脚本。
阅读全文