我的问题实际上是设计问题。我正在使用python + selenium进行自动化。 PyUnit是使用的单元框架。我在excel中有一张表,其中有2列--TestCaseID和Run。 TestCaseID将包含testcase id,Run将具有Y或N,表示该测试用例是否应该是可运行的。我想要做的是从这个表中读取一个特定的测试用例ID,看看它有什么作为它的运行值,Y或N.如果它是Y,那么这个测试用例将由单元框架执行,否则它将不要跑了。
以下是我编写的测试用例的摘录:
`class Test_ID_94017(unittest.TestCase):
ex = Excel()
def setUp(self):
self.ex.setUpASheetInExcel('Select_Test_Cases_To_Run')
if self.ex.getTestCaseRunStatusFromExcel("94017") == "Y":
self.driver = Browser().createBrowserDriver()
self.driver.maximize_window()
self.driver.implicitly_wait(15)
self.ex.setUpASheetInExcel('Login')
else:
return
def test_CCPD_Regression001_PER_Custom_Check(self):
//do something
getTestCaseRunStatusFromExcel(testCaseId)方法的定义是:
`def getTestCaseRunStatusFromExcel(self,testCaseId):
i=1
while self.workSheet.cell_value(i,0).value != testCaseId:
i+=1
return self.workSheet.cell_value(i,1).value
以下是我面临的问题:
我应该如何在现有代码中给出一个条件,以便仅针对Y,我的测试用例会执行?我是否应该在上面的代码中提到的测试用例类的setUp方法中给出if条件?
我试图迭代列(excel表格)中的行的方式是否正确,直到找到我的测试用例ID并获得相应的Run值(Y或N)?
请帮忙!
答案 0 :(得分:1)
我为selenium + testng套件实现了类似的设计。从excel读取执行标志后,我动态创建testng.xml并运行相同的xml。 TestNG提供了动态创建和执行的xml功能。不确定PyUnit中是否有类似的东西。我希望这会给你一些想法。