Auf allen ChromeOS-Testimages ist das ChromeDriver-Binärprogramm in /usr/local/chromedriver/ installiert. Das Binärprogramm wird auf dieselbe Chrome-Version in diesem Test-Image aktualisiert. Sie verwenden also immer den neuesten Build von ChromeDriver.
Wenn Ihr Test für die Ausführung mit einem stabilen Build des ChromeDriver-Binärprogramms vorgesehen ist, müssen Sie in Ihrem Test eigenen Code schreiben, um das entsprechende Binärprogramm herunterzuladen und das Binärprogramm in /usr/local/chromedriver/ zu ersetzen.
ChromeDriver in einem Autotest-Test verwenden
Sie können einen Test schreiben, der ChromeDriver verwendet, um mit ChromeOS zu interagieren. In ChromeOS/Autotest ist eine Wrapper-Klasse für die Verwendung von ChromeDriver verfügbar. Die Wrapper-Klasse fungiert als Kontextmanager-Typ und übernimmt die folgenden Aufgaben für Sie:
- Meldet sich über die Telemetrie in ChromeOS an.
- Startet ChromeDriver im Remote-Modus auf dem zu testenden Gerät und stellt nach der Anmeldung eine Verbindung zum Remote-Debug-Port der Chrome-Instanz her.
- Stellt eine Treiberinstanz bereit, mit der Sie beliebige ChromeDriver-Aufrufe ausführen können.
- Fährt den ChromeDriver-Prozess herunter und meldet sich von ChromeOS ab.
Hier ist ein Beispiel für einen Test: desktopui_UrlFetchWithChromeDriver.
So gehts:
Importieren Sie die Wrapper-Klasse.
from autotest_lib.client.common_lib.cros import chromedriverErstellen Sie eine Instanz von ChromeDriver und führen Sie Aufrufe aus.
with chromedriver.chromedriver() as chromedriver_instance: driver = chromedriver_instance.driver # Here you can make standard ChromeDriver calls through the driver instance. # For example, browse a given url with |driver.get(url)|