ChromeOS

ChromeDriver-Binärprogramm

Bei allen ChromeOS-Testbildern ist das ChromeDriver-Binärprogramm in /usr/local/chromedriver/ installiert. Das Binärprogramm wird auf die Chrome-Version in diesem Testbild aktualisiert. Das heißt, Sie verwenden immer die aktuelle Version von ChromeDriver.

Wenn die Ausführung des Tests für einen "stabilen" Build des ChromeDriver-Binärprogramms erwartet wird, müssen Sie in Ihrem Test eigenen Code schreiben, um die gewünschte Binärdatei herunterzuladen und die Binärdatei in /usr/local/chromedriver/ zu ersetzen.

ChromeDriver in einem Autotest-Test verwenden

Das Schreiben eines Tests, bei dem ChromeDriver zur Interaktion mit Chrome verwendet wird, geht schnell. Es gibt eine Wrapper-Klasse für die Verwendung von ChromeDriver, die in ChromeOS/Autotest verfügbar ist. Die Wrapper-Klasse ist ein Kontextmanagertyp und übernimmt die folgenden Aufgaben für Sie:

  1. Anmeldung in ChromeOS mithilfe von Telemetrie
  2. Startet ChromeDriver im Remote-Modus auf dem zu testenden Gerät und stellt nach der Anmeldung eine Verbindung zum Remote-Debugging-Port der Chrome-Instanz her.
  3. Macht eine Treiberinstanz verfügbar, damit Sie alle ChromeDriver-Aufrufe ausführen können.
  4. Fährt den ChromeDriver-Prozess herunter und meldet sich von ChromeOS ab.

Zum Schreiben eines Tests können Sie dem Beispiel für „Test“ desktopui_UrlFetchWithChromeDriver folgen.

So gehts:

  1. Wrapper-Klasse importieren

    from autotest_lib.client.common_lib.cros import chromedriver
    
  2. Instanz von ChromeDriver erstellen und Aufrufe starten

    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)|