接口测试API 用例、数据、接口分离

目的:完成接口自动化测试,其中最重要的就是用例、数据、接口的分离

现在模拟一个登录接口的测试,

原始请求:

import pytest,json,requests
def test_login():
    url = "https://blog.csdn.net/"
    payload = json.dumps({
        "tel": "123456",
        "password": "123456"
    })
    headers = {
        'Content-Type': 'application/json'
    }
    response = requests.request(method="POST", url=url,headers=headers ,data=payload)

    print(response.json)

问题:

针对该接口的多个用例,就得写很多次,代码重复率太高了

方法:

将用例与接口、数据分离

接口文件:get_token.py

import json,requests

# api中每个方法表示一个接口的请求方法

class GET_Token():
    def get_login(self):
        url = "https://blog.csdn.net/"
        payload = json.dumps({
            "tel": "123456",
            "password": "123456"
        })
        headers = {
            'Content-Type': 'application/json'
        }
        response = requests.request("POST", url, headers=headers, data=payload)

        return response.json()

if __name__ == '__main__':
    t = GET_Token()
    t.get_login()

用例文件:test_demo.py

# testcase 是测试用例,一个method对应一个case,用例与接口分离
import pytest
from get_token import GET_Token

class Test_token():
    def setup(self):
        self.gettoken = GET_Token()

    # 判断是否登录成功,接口返回的响应值做对比
    def test_token(self):
        print(self.gettoken.get_login())
        assert  self.gettoken.get_login()['code'] == 0

现在的接口文件还是比较混乱,可以将数据格式整理一下,采用统一格式,比如JSON

整理后的get_token.py

import json,requests

# api中每个方法表示一个接口的请求方法

class GET_Token():

    def get_login(self):
        # 把请求信息转换成一个规范的字典结构体
        req = {
            "method": "POST",
            "url": "https://blog.csdn.net/",
            "headers": {
                'Content-Type': 'application/json'
            },
            "data": json.dumps({
                "tel": "1234456",
                "password": "1234456"
            })
        }
        # 拆包
        rs = requests.request(**req)
        print(rs.text)
        return rs

if __name__ == '__main__':
    t = GET_Token()
    t.get_login()

现在用例与接口、数据成功分离了,用例或者接口有变化直接去修改对应的文件即可,一个用例针对多条数据,直接准备多条数据替换req即可(放在数据文件中去读取,遍历)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值