2010-11-08 105 views
0

我们有大量的htmlsuite由业务分析师决定,我们希望在持续集成(或每晚)自动启动它们。问题是,与硒-RC的机器是不一样的人比持续集成:如何在遥远的RC服务器上启动Selenium htmlSuite?

在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); 

如果我启动硒服务器IND (例如)遥远的服务器),我尝试使用htmlLauncher,我没有,因为它需要作为SeleniumServer,我无法访问的参数...

任何人都有一个解决方案?

的B计划是从持续集成的SSH启动包含像硒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" 

但它会很丑陋,我想要做的,只有当我不没有任何选择。

回答

1

我在this project on Github here中实现了一个远程webdriver网格配置的例子。您可能能够从中收集一些好的信息。请参阅两个.bat脚本“startWebDriverGridHub.bat”和“startWebDriverGridNode.bat”。在你开发的本地机器上(或你的Jenkins服务器上)运行前者,并在远程机器上运行后者。

我不会推荐以你已经完成的方式启动网格,虽然它是可行的,但我会说它超出了简单Stack问题的范围。

另外,不要使用HtmlClientDriver。如果你想无头,看看PhantomJS的驱动程序。如果您的真正意图是在远程计算机桌面上驱动浏览器,则可以通过上面提供的脚本以Firefox驱动程序,Chrome或IE驱动程序的形式使用“RemoteWebDriver”。