我有硒测试需要 1 分钟才能完成。如果我想运行这 1000 次,我必须等待 16 个小时。有什么方法可以并行运行 5 个测试,以便在 3 小时内完成?我生成了一个 JUnit 测试脚本并尝试使用多个线程运行,但它们最终使用相同的 Firefox 窗口。我不想在网格上运行它,因为运行 5 Firefox 窗口不是资源密集型。
谢谢
我有硒测试需要 1 分钟才能完成。如果我想运行这 1000 次,我必须等待 16 个小时。有什么方法可以并行运行 5 个测试,以便在 3 小时内完成?我生成了一个 JUnit 测试脚本并尝试使用多个线程运行,但它们最终使用相同的 Firefox 窗口。我不想在网格上运行它,因为运行 5 Firefox 窗口不是资源密集型。
谢谢
通过使用以下逻辑,您可以并行运行您的 junit 案例。
Class[] cls={test1.class,test2.class,test3.class,test4.class};
JUnitCore.runClasses(new ParallelComputer(true,false),cls);
在上述方法中,ParallelComputer() 的第一个参数表示类,第二个参数表示方法。在这里,我正在并行运行类,但不是方法。
ParallelComputer 类文档
http://junit-team.github.io/junit/javadoc/4.10/org/junit/experimental/ParallelComputer.html
试试这个例子 http://mycila.googlecode.com/svn/sandbox/src/main/java/com/mycila/sandbox/junit/runner/ 要启动的文件是 MySuite.java。对我来说效果很好。