python实现接口自动化测试_method文件内容

#作者:Administrator
#时间:2019/10/20
from be.utils import operationExcel
from be.utils.operationJson import operationJson as op
from be.utils.public import public
import requests
import json
class method:
def init(self):
self.excel=operationExcel.operationExcel()
self.data=op()
self.public=public()
#self.url=self.data.get_public_url()

#不带token不带参的post请求
def post(self,row,f1,f2):
    return requests.post(url=self.public.get_n_url(row,f2),
                    data=self.data.get_json_data(row,f1,f2),
                    headers=self.public.getHeader())

#带token不带参的post请求
def post_t(self,row,f1,f2):
    return requests.post(url=self.public.get_n_url(row,f2),
                    data=self.data.get_json_data(row,f1,f2),
                    headers=self.public.getHeader_token())
#参数可自行输入的post请求
def post_c(self,row,f1,f2,l=[],li=[]):
    return requests.post(url=self.public.get_n_url(row,f2),
                    data=json.dumps(self.public.set_key_val(row,f1,f2,l,li)),
                    headers=self.public.getHeader_token())

# 参数可自行输入的get请求
def get_c(self, row, f1, f2, l=[], li=[]):
    return requests.get(url=self.public.get_n_url(row,f2),
                    params=(self.public.set_key_val(row, f1, f2, l, li)),
                    headers=self.public.getHeader_token())

#不带token不带参的get请求
def get(self, row,f1,f2):
    return requests.get(url=self.public.get_n_url(row,f2),
                        params=json.loads(self.data.get_json_data(row,f1,f2)),
                        headers=self.public.getHeader())
#带token不带参的get请求
def get_t(self,row,f1,f2):
    return requests.get(url=self.public.get_n_url(row,f2),
                        params=json.loads(self.data.get_json_data(row,f1,f2)),
                        headers=self.public.getHeader_token())
#url中带两个参数的get请求
def get_2v(self,row,id1,id2,f1,f2):
    return requests.get(url=self.public.get_2v_url(row,id1,id2,f2),
                        params=json.loads(self.data.get_json_data(row,f1,f2)),
                        headers=self.public.getHeader_token())
#带token且url中带参数的get请求
def get_v(self,row,id,f1,f2):
    return requests.get(url=self.public.get_v_url(row,id,f2),
                        params=json.loads(self.data.get_json_data(row,f1,f2)),
                        headers=self.public.getHeader_token())
#带token且url中带参数的post请求
def post_v(self,row,id,f1,f2):
    return requests.post(url=self.public.get_v_url(row,id,f2),
                        data=self.data.get_json_data(row,f1,f2),
                        headers=self.public.getHeader_token())
def post_all(self,row,data,f2):
    return  requests.post(url=self.public.get_n_url(row,f2),
                    data=json.dumps(data),
                    headers=self.public.getHeader_token())
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的接口自动化测试框架,使用Python语言编写: 1. 环境准备 在运行测试框架之前,需要安装以下软件包: - Python 3.x - requests - pytest 2. 目录结构 在创建测试框架之前,需要先创建以下目录结构: ``` - api_test/ - api/ - __init__.py - base_api.py - tests/ - __init__.py - test_sample.py - config.py - conftest.py - requirements.txt ``` - api_test/ 目录是测试框架的主目录,包含了所有的测试用例和测试代码。 - api/ 目录是存放 API 封装代码的目录。 - tests/ 目录是存放测试用例的目录。 - config.py 是测试框架的配置文件,里面包含了一些常量,如 API 地址、用户名、密码等。 - conftest.py 是 pytest 的配置文件,主要用于设置测试环境。 - requirements.txt 是 Python 的依赖文件,里面包含了测试框架所需的所有 Python 包及其版本号。 3. 编写 API 封装代码 在 api/base_api.py 中,我们定义了一个 BaseApi 类,用于封装 HTTP 请求方法。具体代码如下: ```python import requests class BaseApi: def __init__(self, base_url, headers=None): self.base_url = base_url self.headers = headers or {} def request(self, method, path, **kwargs): url = self.base_url + path headers = self.headers.copy() headers.update(kwargs.pop('headers', {})) response = requests.request(method, url, headers=headers, **kwargs) return response ``` 4. 编写测试用例 在 tests/test_sample.py 中,我们编写了一个简单的测试用例,用于测试登录接口。具体代码如下: ```python def test_login(api): data = { 'username': 'admin', 'password': 'admin123' } response = api.request('POST', '/login', json=data) assert response.status_code == 200 assert response.json() == {'status': 'success', 'message': 'Login success.'} ``` 5. 编写 pytest 配置文件 在 conftest.py 中,我们定义了一个 api 的 pytest fixture,用于初始化 API 封装类。具体代码如下: ```python import pytest from api.base_api import BaseApi from config import API_BASE_URL, API_HEADERS @pytest.fixture(scope='session') def api(): return BaseApi(API_BASE_URL, headers=API_HEADERS) ``` 6. 运行测试 在运行测试之前,需要先安装测试框架所需的 Python 包。在命令行中执行以下命令即可: ``` pip install -r requirements.txt ``` 安装完成后,可以直接在命令行中运行 pytest 命令,即可运行测试: ``` pytest ``` 测试结果会在命令行中显示。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值