Java >> Java tutoriál >  >> Java

WebDriverException:neznámá chyba:nepodařilo se změnit stav okna na maximalizovaný, aktuální stav je normální s Chrome 70 a Chromedriver 2.43 na MAC OS X

Tato chybová zpráva...

org.openqa.selenium.WebDriverException: unknown error: failed to change window state to maximized, current state is normal

...znamená, že ChromeDriver se nepodařilo maximalizovat stav okna Prohlížeče Chrome klient.

Buggy Mac OSX ChromeDriver vyměněn

Po vydání verze Chrome 70 někteří z vás uvedli, že používání ovladače ChromeDriver k maximalizaci okna prohlížeče na Macu již nefunguje. Tým ChromeDriver tento problém prozkoumal a vytvořil jeho opravu. Sestavení ChromeDriver s opravou jsou nyní k dispozici v následujících umístěních:

  • Pokud používáte Chrome verze 70 (aktuální stabilní vydání), stáhněte si ChromeDriver verze 70.0.3538.97 z https://chromedriver.storage.googleapis.com/index.html?path=70.0.3538.97/
  • Pokud používáte Chrome verze 71 (aktuální beta verze), stáhněte si ChromeDriver verze 71.0.3578.33 z https://chromedriver.storage.googleapis.com/index.html?path=71.0.3578.33/

Snímek e-mailu o vydání ChromeDriver

Vaším hlavním problémem je však nekompatibilita mezi verzemi binárních souborů, které používáte následovně:

  • Vaše verze JDK je 1.8.0_131 což je pěkně starobylé .
    • Upgradujte JDK na nejnovější úrovně JDK 8u181 .
  • Váš Klient Selenium verze je 3.4.0 což je skoro rok starší.
    • Upgradujte Selenium na aktuální úrovně Verze 3.14.0 .

Z jiného pohledu tento problém vypadá jako regresní problém z Feature requestu:ChromeDriver pro podporu změny velikosti okna přes vzdálené připojení.

ChromeDriver v2.43 v poznámkách k verzi výslovně uvádí:

ChromeDriver pro podporu změny velikosti okna přes vzdálené připojení

Nicméně podle doporučených postupů maximalizovat Prohlížeč Chrome klientovi se doporučuje použít ChromeOptions třídy takto:

System.setProperty("webdriver.chrome.driver", "C:\\your_directory\\chromedriver.exe");
ChromeOptions opt = new ChromeOptions();
opt.addArguments("disable-infobars");
opt.addArguments("--start-maximized");
opt.addArguments("--disable-extensions");
WebDriver driver = new ChromeDriver(opt);
driver.get("https://google.com");

Odkaz

Podrobnou diskuzi naleznete v tématu driver.manage().window().maximize() s ChromeDriver 2.33

Aktualizace (20. listopadu 2018)

  • ChromeDriver 2.44 byl propuštěn.
  • ChromeDriver 2.44 podporuje Chrome verze 69 do 71
  • Toto vydání je podobné verzi ChromeDriver 2.43 , ale s dalšími opravami chyb.
  • Ovladač ChromeDriver, který podporuje chrome 72.x očekává se, že bude vydán na začátku prosince.

Aktualizace ovladače chromedriver na verzi 2.44 vyřešil problém za mě (tak nějak). Chyba se již nezobrazuje, ale okno je maximalizováno horizontálně za obrazovkou. Nicméně testy fungují.

Možnost 1. Instalace pomocí homebrew

Pokud jste ji dříve nainstalovali přes homebrew, byla přesunuta do sudu. Takže odinstalujte starou verzi:

brew uninstall chromedriver

Poté nainstalujte novou verzi ze sudu:

brew tap homebrew/cask
brew cask install chromedriver

Nyní byste měli mít v cestě novou verzi a chyba je pryč.

Možnost 2. Stáhněte si ovladač

Stáhněte si ovladač z

https://chromedriver.storage.googleapis.com/index.html?path=2.44/

A umístěte jej do cesty.


Java Tag