繁体   English   中英

如何使用 Selenium Webdriver 在每个测试用例中自动化具有多个场景的测试用例

[英]How to automate test cases having multiple scenarios within each test case using Selenium Webdriver

我陷入了一种情况,我试图自动化在每个测试用例中具有多个场景的多个测试用例。 我尝试使用 for 循环、while 循环、do while 循环但没有成功。 我的使用规格如下:

工具:Selenium WebDriver 2,语言:Java。

换句话说,我正在尝试自动化以下功能,这是我在现实世界中需求的完美复制品; 我将不胜感激任何形式的帮助或建议。

谢谢

这就是我要说的:这是测试用例结构的快照

看起来您想要一个参数化测试。 所有标准测试框架(包括 JUnit 和 TestNG)都支持参数化测试,而 Spock 也与 Geb 很好地集成, 使它们特别容易 如果您使用的是 Geb,您的测试可能如下所示(假设您正在测试基于 JavaScript 的单页计算器):

@Unroll // lists each combination separately in test results
def "#num1 #operator #num2 == #expected"(int num1, String operator, int num2, int expected) {
    when:
        to CalculatorPage
        form.num1 = num1
        form.num2 = num2
        form.operatorButton(operator).click()

    then:
        expected == output as int

    where:
        num1 | operator | num2 || expected
        6    | '+'      | 6    || 12
        8    | '/'      | 2    || 1
        9    | '*'      | 5    || 45
}

尤里卡!! 我想通了。 这太简单了,我什至不敢相信我被困在如此安静的简单逻辑上。 您所要做的就是在主 for 循环中使用 for 循环,为此您必须声明很多变量。 我知道这不是一个好习惯,而是一个很好的学习方法。

感谢大家关注我的一个问题,并向试图解决我的问题的人大喊大叫。

谢谢,TJ

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM