只是数据不同,除了封装 testcase 时,手动多次加入该用例,有没有其他的办法实现该场景的??
ps:数据已实现从 exxel 中读入。
引入 python 的 ddt 模块,并从 excel 中读取测试数据。(还没有研究过从 json 或 yml 文件中读取应该怎么做(其实是我还不懂这两种格式。。),不过我个人更偏爱 excel)
import unittest
from ddt import data,ddt,file_data,unpack
...
@ddt
class UserManage(unittest.TestCase):
global caseFlag,testdata
caseFlag = Params.caseFlag
testdata = method.ExcelTestDataInit_list(DATAFILE,"test_a_userAdd")
def setUp(self):
print("UserManage Init!")
self.driver = webdriver.Firefox()
.....
def tearDown(self):
pass
@unittest.skipIf(caseFlag['test_a_userAdd']['SkipFlag'] == "skip", "用户设置跳过该用例")
@data(*testdata)
def test_a_userAdd(self,casedata):
driver = self.driver
caseName = method.get_curfunc_name()
realname = casedata["realName"]
department = casedata["department"]
username = casedata["UserName"]
.......
其中,testdata 读取出来后的内容为:
[{'UserName': 'autotest3', 'realName': '测试', 'department': '自动化测试部门'....},
{'UserName': 'autotest4', 'realName': '测试', 'department': '自动化测试部门'....}]
excel 模样如下,可以自由控制数据量,从而控制用例执行次数: