Selenium Grid:如何使用RemoteWebDriver和ChromeDriver

时间:2016-11-17 14:45:51

标签: java selenium selenium-grid

我想知道如何使用最流行的浏览器使用Selenium Grid和RemoteWebDriver来最大化浏览器窗口。

此问题尚未在此社区中得到解决,还有另一个问题可能如下所示:How do I maximize the browser window in Selenium WebDriver (Selenium 2) using C#?但是在该问题中并不清楚如何在RemoteWebDriver中最大化浏览器窗口。

在Firefox和IE上,我猜它的方式与driver.manage().window().maximize();

相同

在Chrome中我们必须这样做:

ChromeOptions options = new ChromeOptions(); options.AddArgument("--start-maximized"); driver = new ChromeDriver(options);

问题是如何将其应用于RemoteWebDriver?

2 个答案:

答案 0 :(得分:3)

如果我正确理解你的问题,你想知道如何将驱动程序选项传递给远程驱动程序。在这种情况下你需要创建驱动程序对象,你需要创建欲望功能并使用远程驱动程序的构造函数之一参数。例如

DesiredCapabilities capabilities = DesiredCapabilities.chrome();

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 

capabilities.setCapability(ChromeOptions.CAPABILITY, options);

driver = new RemoteWebDriver(URL, capabilities);
//driver = new ChromeDriver(capabilities);

您还可以在代码之外使用QAF抽象驱动程序配置和管理。你可以set driver capabilities使用属性。作为替代您也可以将Driver listener用于此目的。例如:

使用属性:

以下两个属性将满足Chrome驱动程序的需要:

drive.name=chromeDriver
chrome.additional.capabilities={"chromeOptions":{"args":["--start-maximized"]}}

对于远程驱动程序:

remote.server=<remote server or grid url>
drive.name=chromeRemoteDriver
chrome.additional.capabilities={"chromeOptions":{"args":["--start-maximized"]}}

使用监听器:

void beforeInitialize(Capabilities capabilities){
    if(capabilities.getBrowserName().equalIgnorCase("chrome"){
        ChromeOptions options = new ChromeOptions(); 
        options.addArguments("--start-maximized"); 
        ((DesiredCapabilities)capabilities).setCapability(ChromeOptions.CAPABILITY, options);
    }
}

void onInitialize(QAFExtendedWebDriver driver){
   //for browser other than chrome...
   driver.manage().window().maximize();
}

答案 1 :(得分:0)

在Java中你可以这样做:

ChromeOptions options = new ChromeOptions(); 
options.addArguments("--start-maximized"); 
RemoteWebDriver driver = new ChromeDriver(options); 

评论中已经暗示过这一点,但要指出:您可以将ChromeDriver个实例分配给RemoteWebDriver类型。