场景:同一个用例,输入不同的数据,执行步骤和判断结果方式完全一致

只是数据不同,除了封装 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 模样如下,可以自由控制数据量,从而控制用例执行次数:


↙↙↙阅读原文可查看相关链接,并与作者交流