【问题标题】:How to control test case run through an excel sheet?如何控制通过excel表运行的测试用例?
【发布时间】:2013-07-31 23:58:00
【问题描述】:

我的问题实际上是一个设计问题。我正在使用 python + selenium 进行自动化。 PyUnit 是使用的单元框架。我在 excel 中有一张表格,其中有 2 列 - TestCaseID 和 Run。 TestCaseID 将包含测试用例 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. 在找到我的测试用例 ID 并获得其对应的运行值(Y 或 N)之前,我尝试遍历(Excel 工作表的)列中的行的方式是否正确?

请帮忙!

【问题讨论】:

    标签: python excel selenium frameworks webdriver


    【解决方案1】:

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

    【讨论】:

    • 对不起,我不明白你的解决方案。动态生成的 xml 如何帮助您控制测试用例执行流程?
    • 只有在excel中标记为执行的脚本才会被添加到动态生成的xml中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 2011-10-07
    • 1970-01-01
    • 2019-10-05
    • 1970-01-01
    • 2015-03-23
    • 2015-03-21
    相关资源
    最近更新 更多