Selenium:设置通过ip(或其他)执行的节点

时间:2017-12-06 12:50:35

标签: java selenium grid ip desiredcapabilities

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

1 个答案:

答案 0 :(得分:0)

在我们的框架中,有一个系统属性“IsLocal”,它始终是真的。如果我们想在网格上执行,我们将其设置为false并传递其他参数,如hub ip和port number。

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

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

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

if(IsLocal){
    driver=new FirefoxDriver();
}
else{
    driver= new RemoteWebDriver(HUBURL, DesiredCap);
}