我正在编写几个不同的selenium测试作为页面对象,并希望能够在单个中心类中运行它们。我已经想出了如何从不同的类中运行一个测试,但是当我尝试运行多个测试时,只会完成一个测试。
我已尝试使用org.junit.runner.JUnitCore.main(" com.etc")顺序运行它们,但之后 测试第一类,整个测试结束。在代码中:
org.junit.runner.JUnitCore.main("com.etc.test.HomePageCheck");
System.out.print("test");
即使测试成功运行,也永远不会运行print命令
我也尝试过创建多个线程,但是一旦完成任何测试,整个过程似乎就会结束,剩下的测试就会停止。
重申一下,我有Class1有几个jUnit测试,Class2有其他jUnit测试。我希望能够运行Class3,它将同时运行Class1和Class2,并完成对其他类的所有测试。 我不认为我想使用Selenium Grid,我宁愿只是在机器上本地运行测试,无论是按顺序还是最好是并行运行。
答案 0 :(得分:0)
我想通了,这里是代码(第二行是键,其他行只是为了得到输出)
Result aTest;
aTest= org.junit.runner.JUnitCore.runClasses(new Class<?>[]
{
Events.class,SearchCheck.class});
for(Failure i:aTest.getFailures())
{
System.out.println(i.getException()+"\nat: "+i.getDescription());
System.out.println("trace: "+i.getTrace());
System.out.println();
}
}
谢谢大家
编辑:实际上testSuite也非常有用,可能是更好的方法。