我们有大量由业务分析师设计的 htmlsuite,我们希望在持续集成期间(或每晚)自动启动它们。问题是带有 selenium-RC 的机器与持续集成的机器不同:
在 java 中,我们使用了客户端驱动程序,它工作正常:
selenium = new DefaultSelenium(serverAddress, SERVER_PORT, browser, url);
selenium.start();
然后 selenium.click(..) 等..
如果我使用我在 java 中创建和启动的 seleniumServer,我可以启动 HTMLSuite,它也可以正常工作:
RemoteControlConfiguration rcc = new RemoteControlConfiguration();
rcc.setPort(SelHelper.SERVER_PORT);
seleniumServer = new SeleniumServer(rcc);
seleniumServer.start();
HTMLLauncher launcher = new HTMLLauncher(seleniumServer);
如果我独立启动一个 selenium 服务器(例如远程服务器)并且我尝试使用 htmlLauncher,我不会因为它以我无法访问的 SeleniumServer 作为参数...
有人有解决方案吗?
计划 B 是在 SSH 中通过持续集成在 selenium RC 机器上启动一个 .cmd 文件,其中包含以下内容:
java -jar "X:\01_Robot\SELENIUM_RC\selenium-server-1.0.1\selenium-server.jar" -htmlSuite "*firefox" "http://www.myapplication.com" "X:\mytestsuite.html"
但这会很丑陋,只有在别无选择的情况下,我才想这样做。