我需要做的是为我们的应用程序创建UI测试用例,并且我们决定使用Selenium和TestNG(如果有相当多的优点,我们仍然对其他选项开放)。如何使用TestNG创建多用户测试场景?
我们试图创建的测试是测试,其中多个用户使用应用程序相互交互。基本上我们需要有多个用户并行登录到我们的应用程序并执行不同的操作。用户的行为之间存在关联,所以他们需要在某些点上同步他们的交互(例如,用户需要等待不同的用户执行某个动作之后才能执行他的动作)。这意味着用户之间还需要有某种共享信息(我只是在考虑共享一个可以处理同步点的对象)。
我该如何构建我需要描述将使用TestNG并行运行的不同用户的操作的场景?
有没有更好的框架或有没有解决这个问题的模式?任何suggestios都欢迎!谢谢。
编辑:
我可以迄今的事情,最好是创建一个测试,其中每个@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代码,这不会很明显)。我也不喜欢这样一个事实,即我无法通过在Eclipse上使用TestNG插件通过“Run As - TestNG Test”运行测试。再次,任何建议是非常受欢迎的。谢谢!
感谢您的建议,但是,我一直在寻找一个解决方案,我可以利用一些TestNG的功能,这将帮助我在一个更简单和更清洁的方式编写这些测试。 –