【发布时间】:2011-12-06 23:30:45
【问题描述】:
我需要做的是为我们的应用程序创建 UI 测试用例,我们决定将 Selenium 与 TestNG 一起使用(如果有相当大的优势,我们仍然愿意接受其他选择)。
我们正在尝试创建的测试是多个用户使用应用程序相互交互的测试。基本上,我们需要让多个用户并行登录到我们的应用程序并执行不同的操作。用户的操作之间存在关系,因此他们需要在某些点上同步他们的交互(例如,用户需要等待不同的用户执行操作,然后才能执行他的操作)。这意味着用户之间还需要有某种共享信息(我只是在考虑共享一个负责同步点的对象)。
我应该如何构建需要描述将使用 TestNG 并行运行的不同用户的操作的场景?
是否有更好的框架或解决此问题的模式?欢迎任何建议!谢谢你。
编辑:
到目前为止,我能做的最好的事情是创建一个测试,其中每个 @Test 方法都有每个用户的操作,然后创建一个套件,我在其中定义测试方法应该并行运行。示例:
public class MultiUserTest {
@Test
public void user1Interaction() {
User user1 = new User();
// user1 performs actions
}
@Test
public void user2Interaction() {
User user2 = new User();
// user2 performs actions
}
}
然后创建一个测试套件,我在其中指定MultiUserTest 的方法应该并行运行。
但是我不太喜欢这种解决方案。我不喜欢我依赖 XML 配置(测试套件)来描述我的测试的正确行为的事实(仅通过查看 java 代码不会很明显)。我也不喜欢这样一个事实,即我将无法通过执行“运行方式 - TestNG 测试”在 eclipse 上使用 TestNG 插件来简单地运行测试。同样,非常欢迎任何建议。谢谢!
【问题讨论】:
标签: java design-patterns testing selenium testng