python自动化模型——数据驱动ddt的简单使用

ddt读取组合中的数据

import ddt
import unittest

@ddt.ddt
class DataTest(unittest.TestCase):
	def setUp(self):
		print('这是setup')

	def tearDown(self):
		print('这是teardown')

	@ddt.data([1, 2],
			  [3, 4],
			  [5, 6]
			  )

	@ddt.unpack
	def test_add(self,a,b):
		print(a+b)

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

ddt+Excel以文件形式实现数据驱动

1 、创建一个excel文件,表中的数据格式如下:

注意点:

  • excel格式必须为.xls.因为xlrd不支持最新的.xlsx,可以读取但是写入后无法打开
  • excel中单元格格式设置为“文本”
2、读取excel表格数据,代码如下:
import xlrd

class ExcelUtil():
    def __init__(self,excel_path=None,index=None):
        if excel_path == None:
            excel_path = r'D:\F\pyworkspace\SeleniumPython\config\casedata.xls'
        if index == None:
            index = 0
        self.data = xlrd.open_workbook(excel_path)
        self.table = self.data.sheets()[index]
        # 行数
        self.rows = self.table.nrows

    def get_data(self):
        result = []
        for i in range(self.rows):
            col = self.table.row_values(i)
            result.append(col)
        return result

if __name__ == '__main__':
    ex = ExcelUtil()
    print(ex.get_data())

返回的是数据是一个list:[['1', '2'], ['2', '3'], ['3', '4']]

2、应用excel表格数据,代码如下:
import ddt
import unittest
from util.excel_util import ExcelUtil

ex = ExcelUtil()
data = ex.get_data()

@ddt.ddt
class DataTest(unittest.TestCase):
	def setUp(self):
		print('这是setup')

	def tearDown(self):
		print('这是teardown')

	@ddt.data(*data)
	def test_add(self,data):
		a,b = data  # 列表赋值
		print(int(a) + int(b)) # 将字符转换为int
		
if __name__ =='__main__':
	unittest.main()
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值