Python+unittest+ddt+excel实现多用例自动化测试

前期学习回顾:
unittest框架学习(一)
unittest框架学习(二)

从前面的学习中,我们知道unittest框架中,一个test开头的函数就是一个用例,那如果有超级多的用例,是不是就要创造超级多的test开头的函数,这样太不现实了,所以就有ddt驱动+excel结合来简化我们的工作量。
在这里插入图片描述

由于暂时没有实例,我就设置一个简单的场景,输出excel中每条用例的参数值
在这里插入图片描述
表格‘yuanchandi.xlsx’内容如下
在这里插入图片描述

第一步:建一个文件Read_Excel.py,脚本内容如下

from selenium import webdriver
import time
import xlrd


class ReadExcel():
    def __init__(self, excelPath, sheetName="Sheet1"):
        self.data = xlrd.open_workbook(excelPath)
        self.table = self.data.sheet_by_name(sheetName)
        # 获取第一行作为key值
        self.keys = self.table.row_values(0)
        # 获取总行数
        self.rowNum = self.table.nrows
        # 获取总列数
        self.colNum = self.table.ncols

    def dict_data(self):
        if self.rowNum <= 1:
            print("只有表头,请增加用例内容")
        else:
            r = []
            j=1
            for i in range(self.rowNum-1): 
                s = {}
                # 从第二行获取每一行的值
                values = self.table.row_values(j)
                for x in range(self.colNum):
                    s[self.keys[x]] = values[x]
                r.append(s)
                j+=1
        return r

第二步,新建文件Run_More.py

import ddt
import unittest
from Read_Excel import ReadExcel
import os
from selenium import webdriver
import time


curpath = os.path.dirname(os.path.realpath(__file__))
excelpath = os.path.join(curpath,"yuanchandi.xlsx")
print(excelpath)
data = ReadExcel(excelpath)
testdata = data.dict_data()

@ddt.ddt
class Tian_goods(unittest.TestCase):

    def setUp(self):
        print('开始测试')

    def tearDown(self):
        print('结束测试')

#这个test开头的函数就是我们跑每个用例通用的方法,只是每次参数不同
    @ddt.data(*testdata)
    def test_yuan(self,data):
        print(data['原产地名称'],data['商品编号']if __name__ == '__main__':
    unittest.main()

看下运行输出结果:显示跑了四条用例,跟我们excel加入的用例数一致
在这里插入图片描述
在这里插入图片描述
其实这个组合,比较多用在接口自动化测试中,我之前有写过一篇:Unittest+ddt+excel实现接口自动化测试
在实际工作中,我觉得它也比较多的用于造数据,就比如现在我们的网站是空的,在推广前需要造大批数据,在不麻烦开发大佬的情况下,运营的同事可以通过这个组合去写脚本,把数据放在excel文件,即可快速完成。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Pythonunittest库提供了一种基于单元测试的测试框架,是一个方便易用的Python测试框架。使用unittest库进行接口自动化测试可以提高测试效率和质量,本文将分享如何使用Python unittest库搭建接口自动化测试框架。 第一步:安装Python unittest库 首先需要安装Python unittest库,Python unittest库是默认安装在Python的,无需单独安装。 第二步:安装requests模块 接口自动化测试需要使用requests模块来发送HTTP请求、获取响应等操作,因此需要安装requests模块。使用pip安装requests命令如下: pip install requests 第三步:编写测试用例 使用unittest框架编写测试用例,首先需要导入unittest库并创建测试类,编写测试方法,方法名必须以test开头,并使用assert断言方法进行验证。例如: import unittest import requests class TestApi(unittest.TestCase): def test_get_users(self): url = 'http://localhost:8080/api/users' res = requests.get(url) self.assertEqual(res.status_code, 200) self.assertIsNotNone(res.json()) 第四步:执行测试用例 使用unittest框架执行测试用例使用unittest.main()方法运行所有测试用例。例如: if __name__ == '__main__': unittest.main() 执行测试用例后,将输出测试结果,包括测试用例总数、成功数、失败数等。 第五步:持续集成 持续集成可以帮助实现自动化测试,可以将上述步骤集成到自动化测试框架,提高测试效率和质量。使用持续集成工具,例如Jenkins,可以实现自动化测试的调度和执行,定期输出测试报告,是测试自动化化的不二选择。 在以上步骤,请求地址和验证方法需要根据具体需求进行更改,但是编写测试用例的方法是类似的,熟练掌握unittest库可以快速搭建接口自动化测试框架,提高测试效率和质量。 ### 回答2: Python unittest requests 接口自动化测试框架搭建教程博客是指一篇博客文章,介绍如何使用Python unittest与requests库搭建接口自动化测试框架。该教程博客有如下几个方面: 1. 简单介绍Python unittest与requests库,以及它们在接口自动化测试使用; 2. 详细讲解如何安装Python unittest和requests库,并编写测试用例; 3. 讲解如何通过使用Python unittest的setUp()和tearDown()方法,在测试用例执行前后进行一些操作,以便更好地进行测试; 4. 介绍如何运行测试用例,并查看测试结果,以及如何进行测试报告生成; 5. 提供一些实例,展示如何使用Python unittest与requests库搭建接口自动化测试框架。 通过这篇教程博客,读者可以学习如何使用Python unittest与requests库搭建接口自动化测试框架,并且能够快速了解并掌握这种接口自动化测试方法的流程和基本方法。此外,该教程博客也提供一些实例,帮助读者更好地理解和应用这种方法。因此,这篇教程博客对于想要学习接口自动化测试以及深入了解Python unittest和requests库的读者来说,是一篇非常有价值的文章。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

袁太太的小站

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值