Python接口自动化基本思路

Python做接口自动化,用unittest和pytest框架,思路如下。

# 导入不是一次性写的,而是用到哪个导入哪个,一般python自带库写在上面,自己封装的库写在下面

# 1. unittest写法
import unittest
import requests
from unittestreport import ddt, list_data


@ddt
class TestLogin(unittest.TestCase):
excel = "测试用例excel文件"
cases = "从excel文件中读取的测试用例"
# 这里需要封装有关读取excel文件中用例数据的方法,并导入对应方法


@list_data(cases)
def test_login(self, case):
# 1)准备接口相关数据
# 请求接口地址
url = "http://www.xxx.com"
method = "post"
# 请求参数,这里从excel文件中读取
data = eval(case["data"])
# 期望结果,也是从excel文件中的测试用例获取
expected = eval(case["expected"])
# 2)发送请求,获取结果
response = requests.request(url=url, method=method, json=data)
result = response.json()
# 3)断言(比对实际结果和预期结果)
try:
# 可能产生异常的代码
       # 这里做接口自动化,捕捉的是返回接口结果和预期结果是否一致
except AssertionError as e:
# 断言不通过
# 回写结果到excel,记录日志
# 抛出异常
else:
# 断言通过
# 回写结果到excel,记录日志


# 2. pytest写法
import pytest
import requests


class TestLogin:
excel = "测试用例excel文件"
cases = "从excel文件中读取的测试用例"
# 这里需要封装有关读取excel文件中用例数据的方法,并导入对应方法

@pytest.mark.parametrize('item', cases)
def test_login(self, item):
     # 下面的代码同unittest

posted @ 2021-09-05 23:59  彩虹棉花糖  阅读(285)  评论(0)    收藏  举报