接口自动化测试Python+unitest+Excel+ddt+HTMLTestRunnerNew

我的软件测试资源小站:www.qabujiaban.com-
项目总览:代码目录/报告
在这里插入图片描述

在这里插入图片描述

  • 代码总览
    在这里插入图片描述项目准备:
    1.导入:HTMLTestRunnerNew.py
    import HTMLTestRunnerNew
    在这里插入图片描述

2.导入其它包
在这里插入图片描述

  • 工具类:public_excel.py
# -*- coding:utf-8 -*-
# @Time     :2021/2/4 15:02
# @Author   :wangjinhao
# @Email    :wbxztoo@163.com
# @File     :public_excel.py
import openpyxl

class PublicExcel:
    def __init__(self,filename,sheetname):
        '''
        :param filename:  excel文件的全程
        :param sheetname: sheet表单的名称
        '''
        self.filename = filename
        self.sheetname = sheetname


    def read_excel(self):
        #获取excel
        wb = openpyxl.load_workbook(self.filename)
        #获取sheet
        sheet = wb[self.sheetname]

        #
        sheet_list=[]
        for n in range(2,sheet.max_row+1):
            sheet_dic={}
            sheet_dic['url']=sheet.cell(n,2).value
            sheet_dic['data']=eval(sheet.cell(n,3).value)#eval() 数据原类型,否则excel获取的数据为字符串类型
            sheet_dic['method']=sheet.cell(n,4).value
            sheet_list.append(sheet_dic)
        #返回读取数据的列表形式
        return sheet_list
  • 工具类:public_request.py
# -*- coding:utf-8 -*-
# @Time     :2021/2/2 15:59
# @Author   :wangjinhao
# @Email    :wbxztoo@163.com
# @File     :public_request.py

import requests
#工具类
class PublicRequest:
    def __init__(self,url,data,method=None):
        '''
        :param url: 请求地址
        :param data: 请求参数
        :param method: 请求方法
        '''
        self.url = url
        self.data = data
        self.method=str(method).lower()

    def http_request(self):
        if self.method=='get':#判断请求凡是
            return requests.get(self.url,self.data,self.method).json()
        elif self.method=='post':
            return requests.post(self.url,self.data,self.method).json()
        else:
            return '请求方式method错误...'
  • 工具类:H5接口测试用例.xlsx

在这里插入图片描述
**

- test_request.py

**


```python
# -*- coding:utf-8 -*-
# @Time     :2021/2/4 14:39
# @Author   :wangjinhao
# @Email    :wbxztoo@163.com
# @File     :test_request.py

import unittest
#工具
from com.tools.public_request import PublicRequest
#导入excel包
import openpyxl
#导入ddt
from ddt import ddt,data,unpack
#导入excel封装类
from com.tools.public_excel import PublicExcel
'''excel'''
test_data = PublicExcel('H5接口测试用例.xlsx','登录接口').read_excel()
@ddt
class TestRequest(unittest.TestCase):
    def setUp(self) -> None:
        pass
    @data(*test_data)
    def test_login(self,data):
        res = PublicRequest(data['url'],data['data'],data['method']).http_request()
        print(res)
        self.assertEqual(1,res['status'])

    def tearDown(self) -> None:
        pass

# if __name__ == '__main__':
#     unittest.main()

**

  • log_request.py

**

# -*- coding:utf-8 -*-
# @Time     :2021/2/4 14:54
# @Author   :wangjinhao
# @Email    :wbxztoo@163.com
# @File     :log_request.py

import unittest
import HTMLTestRunnerNew
from com.testloginapi.test_request import TestRequest

suite = unittest.TestSuite()

loader = unittest.TestLoader()

suite.addTest(loader.loadTestsFromTestCase(TestRequest))

with open('login_API.html','wb') as file:
    runner = HTMLTestRunnerNew.HTMLTestRunner(stream=file, verbosity=2,title='这里是标题...',description='这里是描述...',tester='某某某')
    runner.run(suite)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伯先知

您的鼓励就是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值