2012-09-23 19 views
21

Wie bekomme ich die verwendete Browserversion?Browserversion mit selen webdriver herunterladen

>>> from selenium import webdriver 
>>> driver = webdriver.Firefox() 
>>> print version <-- how to do this? 
    Firefox 12.0 
+0

Von Firefox Version 48 und vorwärts können Sie die Antwort sehen [hier] (https://stackoverflow.com/questions/23887911/how-to-check-firefox-version-when-running-selenium-tests-in- jenkins/47816337 # 47816337) – ArgiesDario

Antwort

20

Die capabilities Eigenschaft ist ein Wörterbuch Informationen über den Browser selbst enthält, so sollte diese Arbeit:

print driver.capabilities['version'] 
37

Diese Antwort führte mich auf den richtigen Weg nach unten, aber ist spezifisch für Python und das Thema ist mehr breit. Also, ich füge eine Antwort für Java hinzu, die etwas komplizierter war. Zu diesem Zeitpunkt verwende ich Selen 2.25.0.

//make sure have correct import statements - I had to add these 
import org.openqa.selenium.Capabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 

WebDriver driver = new FirefoxDriver(); 

Capabilities caps = ((RemoteWebDriver) driver).getCapabilities(); 
String browserName = caps.getBrowserName(); 
String browserVersion = caps.getVersion(); 
System.out.println(browserName+" "+browserVersion); 
2

Wenn Ihre Verpackung Ihr WebDriver so dass es EventFiring Sie eine benutzerdefinierte EventFiringWebDriver Implementierung zu tun haben.

import org.openqa.selenium.Capabilities; 
import org.openqa.selenium.HasCapabilities; 
import org.openqa.selenium.remote.RemoteWebDriver; 
import org.openqa.selenium.support.events.EventFiringWebDriver; 

public class MyEventFiringWebDriver extends EventFiringWebDriver implements HasCapabilities { 

    private RemoteWebDriver driver; 

    public MyEventFiringWebDriver(RemoteWebDriver driver) { 
     super(driver); 
     this.driver = driver; 
    } 

    @Override 
    public Capabilities getCapabilities() { 
     return driver.getCapabilities(); 
    } 

} 

Einfach posten, weil es ein Problem war, das ich rüber lief.

2

Obwohl dies die obige Frage nicht ganz beantworten kann, könnte dies dennoch nützlich für jemanden sein, der nach einem Weg sucht, einen Test basierend auf verschiedenen Verhaltensweisen zu programmieren, die er von verschiedenen Browsern erhält (z. B. Firefox vs. Chrome). Ich habe nach dem gesucht, als ich auf diesen Thread gestoßen bin, also dachte ich, ich würde es hinzufügen, falls es jemand anderem helfen könnte.

auf Python, wenn Sie einfach sind für den Browser sind Testen Sie auf (dh Firefox, Chrome, das heißt, etc ..) suchen, verwenden Sie könnten dann ...

driver.name 

.. in einer wenn Aussage. Dies setzt voraus, dass Sie bereits Treiber dem Webbrowser zugewiesen haben, auf dem Sie testen (z. B. Firefox, Chrome, IE usw.). Wenn Sie jedoch mehrere Versionen desselben Browsers testen müssen, benötigen Sie weitere Informationen zu driver.version. Hoffe das hilft jemandem aus. Ich habe nach dieser Lösung gesucht, als ich diesen Thread gefunden habe, also dachte ich, ich würde ihn hinzufügen, für den Fall, dass jemand anders ihn braucht.