如何通过excel表控制测试用例?

时间:2013-07-31 12:42:56

标签: python excel selenium frameworks webdriver

我的问题实际上是设计问题。我正在使用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

以下是我面临的问题:

  1. 我应该如何在现有代码中给出一个条件,以便仅针对Y,我的测试用例会执行?我是否应该在上面的代码中提到的测试用例类的setUp方法中给出if条件?

  2. 我试图迭代列(excel表格)中的行的方式是否正确,直到找到我的测试用例ID并获得相应的Run值(Y或N)?

  3. 请帮忙!

1 个答案:

答案 0 :(得分:1)

我为selenium + testng套件实现了类似的设计。从excel读取执行标志后,我动态创建testng.xml并运行相同的xml。 TestNG提供了动态创建和执行的xml功能。不确定PyUnit中是否有类似的东西。我希望这会给你一些想法。