我遇到的情况是,我试图自动化在每个测试用例中有多个场景的多个测试用例。我尝试使用for循环,while循环,while循环但没有成功。 我的使用规范如下:
工具:Selenium WebDriver 2, 语言:Java的。
换句话说,我正在尝试自动化以下功能,这是我在现实世界中需要的完美复制品;我将不胜感激任何帮助或建议。
由于
以下是我所说的:
答案 0 :(得分:1)
看起来你想要参数化测试。所有标准测试框架(包括JUnit和TestNG)都支持参数化测试,Spock也可以与Geb makes them particularly easy很好地集成。如果您使用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
}
答案 1 :(得分:0)
尤里卡!我想通了。这很简单,我甚至不相信我被这种安静的简单逻辑所困扰。您所要做的就是在main for循环中使用for循环,因此您必须声明许多变量。我知道这不是一个好习惯,但肯定是一个很好的练习。
感谢大家查看我的一个问题并向那些试图解决我的问题的人大声喊叫。
谢谢, TJ