-1

我的问题实际上是一个设计问题。我正在使用 python + selenium 进行自动化。PyUnit 是使用的单元框架。我在 excel 中有一张表格,其中有 2 列 - TestCaseID 和 Run。TestCaseID 将包含测试用例 ID,而 Run 将包含 Y 或 N 表示该测试用例是否应该可运行。我想做的是从这张表中读取一个特定的测试用例 ID,看看它的运行值 Y 或 N 有什么。如果是 Y,那么这个测试用例将由单元框架执行,否则它将不能运行。

这是我编写的测试用例的摘录:

`类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. 在找到我的测试用例 ID 并获得其相应的运行值(Y 或 N)之前,我尝试迭代列(excel 表)中的行的方式是否正确?

请帮忙!

4

1 回答 1

1

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

于 2013-08-01T05:05:38.563 回答