python-接口测试工具

项目背景:工作中某个项目涉及的接口比较多,对接口进行冒泡测试时,使用postman独立执行每一个接口并记录下返回结果,有些繁琐;使用jmeter,要设置基础参数,又有些小题大作

功能需求:excel中录入url和data,执行脚本后,记录结果到excel中

功能设计:

1.读取excel;

2.调接口;

3.写入excel指定位置

编程语言:python

使用到的包:requests,xlrd,openpyxl

上代码:

import requests
import xlrd
from openpyxl import load_workbook
import json
from openpyxl.styles import Alignment


class TestInterfaceTools(object):

    def __init__(self):  # 类的初始化函数-个人理解:全局变量
        self.info_list = []
        self.excel_path = ".\\excel\\info.xlsx"
        # self.excel_name = "info.xlsx"
        self.headers = {"key": "content-type", "value": "application/json"}

    def excel_read(self):  # 读取excel表格
        book = xlrd.open_workbook(self.excel_path)
        sheet = book.sheets()[0]
        for i in range(1, sheet.nrows):
            temp_list = []
            for j in range(1, sheet.ncols):
                temp_list.append(sheet.cell_value(i, j))
            self.info_list.append(temp_list)  # 按行整理excel表格数据,每行数据为一个list
        return self.info_list  # 在其他函数中需要调用,则需要self.XXX

    def excel_write(self, result, i):  # 写入excel表格,使用openpyxl包
        self.excel_read()
        wb = load_workbook(self.excel_path)
        sheet1 = wb["Sheet1"]
        sheet1.cell(i, 5, result).alignment = Alignment(wrap_text=True)  # 指定写入坐标(i,5)= result且该位置自动换行
 
        wb.save(self.excel_path)

    def test_request_response(self):
        self.excel_read()
        for x in range(len(self.info_list)):
            method = self.info_list[x][2]  # 当前函数内部处理的变量,无需加self.XXX
            if method == "post":
                res = requests.post(url=self.info_list[x][0], data=json.loads(self.info_list[x][1]),
                                    headers=self.headers)
                self.excel_write(result=res.text, i=x + 2)
            elif method == "get":
                res = requests.get(url=self.info_list[x][0] + self.info_list[x][1])
                self.excel_write(result=res.text, i=x + 2)


TestInterfaceTools().test_request_response()

excel模板:

测试点urldatamethodres
     
     

使用方法:excel录入url,请求data,接口请求方式,excel放到指定路径中,执行脚本即可!

ps:从自己的需求出发,利用已学知识优化工作流程

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值