Je suis en train d'effectuer une mise à niveau vers Selenium 3 qui a cassé une fonction que j'ai écrite il y a longtemps pour extraire l'OS et le navigateur de l'instance WebDriver
.Obtenir des informations sur l'OS et la version du navigateur Firefox dans Selenium 3
Ce utilisé pour obtenir la version du navigateur et le nom OS:
Capabilities cap = ((RemoteWebDriver) driver).getCapabilities();
String browserVersion = cap.getVersion();
String osName = cap.getPlatform().name().toLowerCase();
Il ne fonctionne plus. Je reçois une chaîne vide pour la version du navigateur et «any» pour le nom du système d'exploitation. J'utilise un outil tiers au gestionnaire des pilotes binaires:
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>1.7.0</version>
</dependency>
Voilà comment je crée l'instance du pilote:
FirefoxDriverManager.getInstance().setup();
DesiredCapabilities caps = DesiredCapabilities.firefox();
caps.setCapability("acceptInsecureCerts", true);
WebDriver driver = new FirefoxDriver(caps);
WebDriver.Timeouts timeouts = driver.manage().timeouts();
timeouts.implicitlyWait(5L, TimeUnit.SECONDS);
driver.manage().window().maximize();
return driver;
Ce n'est pas très différent de mon code Sélénium 2. La seule différence est l'utilisation du gestionnaire de pilotes de l'outil tiers, car l'utilisation de Firefox nécessite maintenant geckodriver.
Consultez https://github.com/Ardesco/selenium-standalone-server-plugin – SiKing