unittest可以进行ddt数据驱动,需要3个步骤
1、准备工作
需要先安装openpyxl包,和ddt包
openpyxl包是用来读取csv文件的
ddt包是用来调用数据的
2、读取csv文件
1、需要确认项目路径
#获取项目project路径,common是当前类所在的文件夹名称
def get_path(self):
return os.path.abspth(os.path.dirname(__file__)).spilt('common')[0]
2、读取文件
import openpyxl
#获取项目project路径,common是当前类所在的文件夹名称
class readcsv:
def get_path(self):
return os.path.abspth(os.path.dirname(__file__)).spilt('common')[0]
#读取文件
def read(self)
#加载工作簿
webbook=openpyxl.loader(self.get_path+"./datas/csv.xlsx")
#加载sheet页,csv是sheet页的名称
sheet=webbook['csv']
#通过遍历的方式获取sheet页中的数据
all_list=[]
for row in range(2,sheet.max_row+1):
temp_list=[]
for cloumn in range(1,,sheet.max_cloumn+1)
temp.append(sheet.cell(row,cloumn).value)
all.append(temp)
return all
3、调用数据
import unittest
import readcsv#导入读取数据的类
from ddt import data,ddt,unpack
@ddt#声明这个类中需要调取数据
class TestBase(unittest.TestCase):
@data(*readcsv().read())
@unpack
def test_login(self,name,age)#csv中如果有2列数据,方法中就写2个参数,2个参数数据按照列的顺序
print("请输入姓名:"name)
print("请输入年龄:"age)