1

我在服务器上使用带有集线器的 Selenium Grid。为了更容易调试,我想在我的特定电脑上而不是在其他节点上执行测试。(所有节点都始终在线)是否有类似 ip-capability 的东西?(所有节点运行相同的浏览器和平台等)否则我必须执行 Grid-Execution.java 和 Local-Execution.java?如果您有其他想法如何做到这一点,请告诉我!问候阿诺

4

1 回答 1

0

在我们的框架中,有一个系统属性“IsLocal”,它总是正确的。如果我们想在网格上执行,我们将其设置为 false 并传递额外的参数,如集线器 ip 和端口号。

另外,这个值我们可以从maven命令行传递,如果我们从IDE执行,则值为null,如果为null,它将采用默认值,即true。所以它总是在本地执行。如果我们需要在网格上测试它,我们从 maven 或命令行传递 IsLocal 系统值。

在我们的驱动工厂启动浏览器方法。如果它是真的,我们总是检查这个属性,我们使用本地驱动程序启动浏览器,否则使用远程 Web 驱动程序。类似于下面的代码。

boolean IsLocal=true;
if(System.getProperty("IsLocal")!=null){
      IsLocal=System.getProperty("IsLocal");
}

if(IsLocal){
    driver=new FirefoxDriver();
}
else{
    driver= new RemoteWebDriver(HUBURL, DesiredCap);
}
于 2017-12-06T13:11:18.620 回答