我正在寻找一个简明扼要的教程,介绍如何在远程主机上设置selenium服务器以及如何正确使用它。对于一般的服务器的一些设置和配置,我还是新手,而且selenium文档的措辞似乎是为了更高层次的理解。我已经在我的本地机器上设置了一些测试用例,现在我想弄清楚如何远程设置它。
答案 0 :(得分:4)
服务器端:
如何设置服务器部件,即独立服务器+ webdriver(例如chromedriver)。
独立服务器有帮助:
java -jar <path_to>/selenium-server-standalone-<version>.jar -help
实际上有两件事:selenium-server(5 + MB jar)和selenium-server-standalone(30+ MB jar)。 https://selenium-release.storage.googleapis.com/index.html?path=2.47/
据我所知,selenium-server-standalone足以满足大多数任务的需要。 有一个关于差异的话题:
客户端:
在代码中使用某些WebDriver接口之前。
说,您可以使用ChromeDriver。 https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/chrome/ChromeDriver.html
现在您需要使用RemoteWebDriver(WebDriver接口的实现): https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html
以下是代码片段,了解如何使用具有各种浏览器功能的RemoteWebDriver: http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#remotewebdriver
E.g。可能有这样的客户代码:
ChromeOptions options = new ChromeOptions();
// set some options
DesiredCapabilities dc = DesiredCapabilities.chrome();
dc.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), dc);
driver.get("http://www.google.com");
...
有一个解释如何运作:
RemoteWebDriver是WebDriver接口的实现类 测试脚本开发人员可以使用它来执行他们的测试脚本 远程计算机上的RemoteWebDriver服务器。
RemoteWebDriver有两个部分:服务器和客户端
RemoteWebDriver服务器是侦听端口的组件 来自RemoteWebDriver客户端的各种请求。一旦收到了 请求,它将它们转发给以下任何一个:Firefox Driver,IE 驱动程序或Chrome驱动程序,无论哪个问题。
用作RemoteWebDriver的语言绑定客户端库 客户。客户端,就像在本地执行测试时一样, 将测试脚本请求转换为JSON有效负载并发送它们 使用JSON有线协议连接到RemoteWebDriver服务器。
在本地执行测试时,WebDriver客户端库 直接与您的Firefox驱动程序,IE驱动程序或Chrome驱动程序通信。 现在,当您尝试远程执行测试时,WebDriver客户端 库与远程WebDriver服务器通信,服务器与之通信 Firefox驱动程序,IE驱动程序或Chrome驱动程序,无论哪个 WebDriver客户端要求。