我正在使用selenium web驱动程序编写JUnit测试用例,并且在尝试在一个文件中进行多个测试时遇到了问题。以下是我的代码结构示例:
public class exampleScripts extends SeleneseTestCase {
public void setUp() throws Exception{
SeleniumServer seleniumServer = new SeleniumServer();
seleniumServer.start();
setUp("https://my.target.URL", *firefox");
}
@Test
public void test1() throws Exception {
//do test stuff
try {
//check if results are good
}
catch (Throwable e) {
//handle error
}
}
@Test
public void test2() throws Exception {
//do more test stuff
try {
//check results
}
catch (Throwable e) {
//handle error
}
}
}
现在,测试本身可以正常工作,但是当我整个运行我的类时,我收到错误Failed to start: SocketListener1@0.0.0.0:4444
。第一个测试运行正常,但第二个测试我继续进行下一个测试,似乎它正在尝试重新启动会话,当时我只想让它继续旧会话。我该如何解决这个问题?
答案 0 :(得分:0)
似乎我能够找到解决此问题的难以解决的问题,但我不建议将此作为解决方案。我创建了一个test_suite函数来运行我的所有测试,并自己记录结果。
public void setUp() {
//setUp stuff
}
public void testAll() throws Exception {
selenium.open("my/target/path");
test1();
test2();
}
@Test
public void test1() throws Exception {
//test stuff
try {
//check results
}
catch (Throwable e) {
log.INFO("There was an error in test1");
}
}
//and so on
整个测试套件将在testAll()上运行。再一次,不会推荐这个解决方案,因为它没有利用JUnit的日志记录,但它对我有用。