一、前言:
阅读此文之前请先阅读:
[ddt01篇]十年测试老鸟帮您解析:ddt数据驱动入门基础应用:
https://blog.csdn.net/pengjiangchun/article/details/105450690
二、ddt数据驱动框架结合txt文件实现数据驱动
test_demo.py代码如下:
import unittest
from ddt import ddt, data, unpack
#读取txt文件中的内容,strip()方法去掉首位的指定字符。
def read_txt():
list = []
file = open('param.txt','r',encoding='utf-8')
for line in file.readlines():
list.append(line.strip('\n').split(','))
return list
@ddt
class aaa(unittest.TestCase):
def setUp(self):
pass
@data(*read_txt())
def test1_data(self,args1):
print(args1)
def tearDown(self):
pass
if __name__ == '__main__':
unittest.main()
param.txt文件中内容如下:
诸葛,司马
马超,关羽
三、使用ddt结合excel(.csv格式也可以)文件实现数据驱动
test_demo.py代码如下:
import time
import unittest
import ddt
from selenium import webdriver
from selenium.webdriver.common.by import By
from a.excel_util import ExcelUtil
@ddt.ddt
class TestDemo(unittest.TestCase):
eu = ExcelUtil()
def setUp(self) -> None:
self.driver = webdriver.Chrome()
self.driver.get("https://www.baidu.com")
self.driver.maximize_window()
self.driver.implicitly_wait(10)
@ddt.data(*eu.read_excel("D:\\testdata.xlsx","Sheet1"))
def test_data_driver_by_jsonfile(self,value):
try:
testData,expectData = tuple(value)
self.driver.find_element(By.ID,"kw").send_ke