python requests excel自动化框架搭建

1、EXCEL文件接口保存方式,如图。

2、然后就是读取EXCEL文件中的数据方法,如下:

 

import xlrd


class readExcel(object):
    def __init__(self, path):
        self.path = path

    @property
    def getSheet(self):
        # 获取索引
        xl = xlrd.open_workbook(self.path)
        sheet = xl.sheet_by_index(0)
        return sheet

    @property
    def getRows(self):
        # 获取行数
        row = self.getSheet.nrows
        return row

    @property
    def getCol(self):
        # 获取列数
        col = self.getSheet.ncols
        return col

    # 以下是分别获取每一列的数值
    @property
    def getName(self):
        TestName = []
        for i in range(1, self.getRows):
            TestName.append(self.getSheet.cell_value(i, 0))
        return TestName

    @property
    def getData(self):
        TestData = []
        for i in range(1, self.getRows):
            TestData.append(self.getSheet.cell_value(i, 1))
        return TestData

    @property
    def getUrl(self):
        TestUrl = []
        for i in range(1, self.getRows):
            TestUrl.append(self.getSheet.cell_value(i, 2))
        return TestUrl

    @property
    def getMethod(self):
        TestMethod = []
        for i in range(1, self.getRows):
            TestMethod.append(self.getSheet.cell_value(i, 3))
        return TestMethod

    @property
    def getUid(self):
        TestUid = []
        for i in range(1, self.getRows):
            TestUid.append(self.getSheet.cell_value(i, 4))
        return TestUid

    @property
    def getCode(self):
        TestCode = []
        for i in range(1, self.getRows):
            TestCode.append(self.getSheet.cell_value(i, 5))
        return TestCode

3、EXCEL中的数据读取成功后,然后我们需要对于读出来的数据进行相应的处理。如下。当然示例中只是简单列了一下关于POST,GET等二种方式,实际还有很多其它方式,如put,delete等,请求中也还会包括headers,这些都可以自忆添加上去。

 

import requests
import json
from xl.read_xl import readExcel
from pubulic_way.get_token import get_token


class testApi(object):
    def __init__(self, method, url, data):
        self.method = method
        self.url = url
        self.data = data


    @property
    def testApi(self):
        # 根据不同的访问方式来访问接口
        try:
            if self.method == 'post':
                r = requests.post(self.url, data=json.dumps(eval(self.data)), headers=self.headers)
            elif self.method == 'get':
                r = requests.get(self.url, params=eval(self.data))
            return r
        except:
            print('失败')

    def getCode(self):
        # 获取访问接口的状态码
        code = self.testApi.json()['error']
        return code

    def getJson(self):
        # 获取返回信息的json数据
        json_data = self.testApi.json()
        return json_data

4、最后我们就可以调用之前准备好的方法进去测试了。

from base.base_test import baseTest
from xl.read_xl import readExcel
from pubulic_way.test_api_way import testApi
import unittest


class testLoginApi(unittest.TestCase):
    def testLoginApi(self):
        '''测试发布评伦接口。'''
        excel = readExcel(r'F:\path\add_thread_data.xlsx')
        name = excel.getName
        data = excel.getData
        url = excel.getUrl
        method = excel.getMethod
        uid = excel.getUid
        code = excel.getCode
        row = excel.getRows
        for i in range(0, row - 1):
            api = testApi(method[i], url[i], data[i])
            apicode = api.getCode()
            apijson = api.getJson()
            if apicode == code[i]:
                print('{}、{}:测试成功。json数据为:{}'.format(i + 1, name[i], apijson))
            else:
                print('{}、{}:测试失败'.format(i + 1, name[i]))


if __name__ == '__main__':
    unittest.main(verbosity=2)


5、最后还需要把我们的结果展示出来,这个就很简单了,利用htmltestrunner来展示。展示一张报告的切图。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值