[英]Selenium Grid: how to maximize browser window using RemoteWebDriver and ChromeDriver
我想知道如何使用Selenium Grid和RemoteWebDriver與最流行的瀏覽器最大化瀏覽器窗口。
這個問題在這個社區尚未解決,還有一個問題可能如下: 如何使用C#在Selenium WebDriver(Selenium 2)中最大化瀏覽器窗口? 但在那個問題尚不清楚如何在RemoteWebDriver中最大化瀏覽器窗口。
在Firefox和IE上我猜它的方式與driver.manage().window().maximize();
在Chrome中我們必須這樣做:
ChromeOptions options = new ChromeOptions(); options.AddArgument("--start-maximized"); driver = new ChromeDriver(options);
問題是如何將其應用於RemoteWebDriver?
如果我正確理解你的問題你想知道如何將驅動程序選項傳遞給遠程驅動程序。在這種情況下,你需要創建驅動程序對象,你需要創建欲望功能並使用帶有功能參數的遠程驅動程序的構造函數之一。 例如
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抽象驅動程序配置和管理。 您可以使用屬性設置驅動程序功能 。 作為備用您也可以使用Driver偵聽器來實現此目的。 例如:
使用屬性:
以下兩個屬性將需要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"]}}
使用Listener:
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();
}
在Java中你可以這樣做:
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
RemoteWebDriver driver = new ChromeDriver(options);
它已在評論中暗示過,但要指出:您可以將ChromeDriver
實例分配給RemoteWebDriver
類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.