使用testNG并行运行测试

时间:2013-12-03 12:00:55

标签: java multithreading testng

我想使用TestNG编写并行测试。

我有3个方法,分别是testLogin(),testWrite()和testRead(),我的系统有100个用户。每个方法必须相互跟随,例如testLogin()的优先级为1,testWrite()的优先级为2,testRead()的优先级为3.如何测试这些系统调用这些方法的并行。

2 个答案:

答案 0 :(得分:0)

并行测试不是很值得推荐,因为它们不可重复。每次调用测试都可能遵循不同的执行路径,因此可能会随机成功或失败。我建议您使用适当的并发测试框架,例如thread weaver,您可以在其中明确定义线程断点。

可以告诉TestNG多次运行测试,例如为运行方法的10个线程设置@Test(threadCount = 10, invocations = 100)总共100次。 (不要这样做。)如果要在一个测试中并行运行不同的方法,则需要通过创建并行启动的自定义线程来自己编写此类代码。 (也不要这样做。)

答案 1 :(得分:0)

虽然并行测试可能会导致失败,但如果正确设计和开发测试,则并非不可能实现并行性。事实上,当使用适当的工具(Selenium Grid)并行执行脚本时,您可以获得最佳的自动化测试价值。

请参阅here使用webdriver + testng实现并行性的示例。