我寻求一种高度可扩展且灵活的解决方案,用于从远程计算机启动Selenium测试,最好是通过基于Web的端点,我可以将一些数据传递给我的测试。
我已经尝试过使用jUnitEE和TestNGEE - 加上一个ServletFilter - 试图得到我想要的东西但是不能满足我的所有要求所以我不禁想到我正试图完全去做错误的方式......有人必须在此之前解决这个问题......我只是无法弄清楚如何......
我希望发生什么:
其他要求:
注意:
示例:
testLauncher的myServlet触发包含的测试匹配 com.mySite.selenium.flow1 ,该测试依次导航到'http:// testEnvironment1.mySite.com ',然后继续在输入框中输入'userNumber1'文本。
第二个用户可以在先前的测试仍在执行时使用相同的servlet,但使用不同(或相同)的参数:http://testLauncherUI.mySite.com/myServlet?test=com.mySite.selenium.flow1&environment=testEnvironment2.mySite.com&username=userNumber1&otherRandomKey=randomValue
testLauncher的myServlet启动另一个线程,运行相同的测试,但针对指定的站点:'http:// testEnvironment2.mySite.com ',然后继续输入'userNumber1 '将文字输入输入框。
我在这里缺少什么?
提前致谢!
答案 0 :(得分:0)
我完全放弃了JUnitEE。生活现在变得更好了。我的堆栈现在可以实现:GitLab,GitLabCI(带Docker),Gradle,Junit / TestNG
http://myGitLab.com/my-project/trigger?TARGETED_TESTS=com.myapp.feature1.tests
),并且一个docker容器从GitLabCI旋转以运行匹配的。当然,通过这种方法,我可以设置我需要的任何变量,并且可以在任何级别读取它们--GitLabCI,Gradle或测试/测试框架本身。 这种方法看起来非常灵活和强大,足以满足我的需求,让我的许多团队都能够根据自己的特定需求配置和处理项目,而不会过于规范。