我使用selenium WebDriver和junit,ant和jenkins。 我设置jenkins使用ant build.xml来运行我的测试。但目前我只进行了一次测试。在build.xml中,我设置了每个测试中使用的变量。所以要在Jenkins中运行测试,我在目标中设置:
build MyTest1 -Dvariable="value"
我希望一个接一个地按顺序运行所有测试。我试试这个:
build MyTest1 -Dvariable="value" MyTest2 -Dvariable="value"
但是2个测试同时在浏览器中开始运行。我该如何组织所需的序列。也许在build.xml中有一些方法可以做到这一点?我想我可以创建目标,其中调用目标运行测试,但在这种情况下如何设置我的变量?我是蚂蚁的新手,请告诉我解决方案。
我需要澄清 - 我的测试是独立的,我不会以一些稳定的顺序运行它们。问题是测试在浏览器中并行运行。我需要先运行第一次测试,然后才能完成 - 运行第二次测试。
答案 0 :(得分:1)
首先,测试应该具有很少的依赖性。在您的情况下,您的测试依赖于全局变量 - 尝试摆脱它。使用“配置”对象,您可以安全地从测试中修改该对象,然后您的应用程序代码将使用该对象进行自我配置。
这将上面的问题减少到“如何收集大量测试”,答案是:Use a test suite:
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
MyTest1.class,
MyTest2.class
})
public class JunitTestSuite {
}