Verwenden Sie Chrome für Tests oder Chromium mit Axe Watcher

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Anleitung zur Installation und Konfiguration von Chrome für Tests oder Chromium für Plattformen, die einen systeminstallierten Browser verbinden

Not for use with personal data

Axe Watcher unterstützt nur Google Chrome für Tests oder Chromium. Die reguläre Chrome-Version 139 und später werden nicht unterstützt.

Testplattformen, die ihre eigene Browserinstallation verwalten (Playwright und Puppeteer), sind nicht betroffen; sie laden automatisch ein kompatibles Chromium herunter. Plattformen, die mit einem auf dem Rechner bereits installierten Browser verbinden (WebdriverIO, WebDriverJS und Java Selenium), erfordern, dass Sie Chrome für Tests oder Chromium installieren und dessen Pfad explizit konfigurieren.

Chrome für Tests oder Chromium installieren

Wählen Sie eine der folgenden Installationsmethoden:

  • Verwendung von npm: @puppeteer/browsers ist ein eigenständiges Browser-Download-Tool; es erfordert nicht, dass Puppeteer in Ihrem Projekt installiert ist. Um Chrome für Tests zu installieren, führen Sie aus:

    npx @puppeteer/browsers install chrome@stable

    Um stattdessen Chromium zu installieren, führen Sie aus:

    npx @puppeteer/browsers install chromium@latest

    Der Befehl gibt am Ende seiner Ausgabe den Pfad zur installierten Binärdatei aus, zum Beispiel:

    chrome@stable /home/user/.cache/puppeteer/chrome/linux-136.0.7103.92/chrome-linux64/chrome

    Setzen Sie die CHROME_PATH -Umgebungsvariable auf diesen Pfad, bevor Sie Ihre Tests ausführen.

    important

    @puppeteer/browsers install lädt den Browser in ein Unterverzeichnis des aktuellen Arbeitsverzeichnisses herunter. Führen Sie den Befehl von einem Ort aus, an dem ein großer Download angemessen ist, und überlegen Sie, das resultierende Verzeichnis zu Ihrem .gitignorehinzuzufügen.

  • Verwendung von GitHub Actions: Fügen Sie den folgenden Schritt Ihrer Workflow-Datei hinzu. Um Chrome für Tests zu installieren:

    - name: Setup Chrome for Testing
      uses: browser-actions/setup-chrome@latest
      id: setup-chrome
      with:
        chrome-version: stable
        install-chromedriver: true

    Um stattdessen Chromium zu installieren, verwenden Sie latest für chrome-version:

    - name: Setup Chromium
      uses: browser-actions/setup-chrome@latest
      id: setup-chrome
      with:
        chrome-version: latest
        install-chromedriver: true

    In beiden Fällen ist der Binärpfad aus der Ausgabe des Schritts verfügbar:

    ${{ steps.setup-chrome.outputs.chrome-path }}

Plattform konfigurieren

Sobald CHROME_PATH gesetzt ist, konfigurieren Sie Ihr Test-Setup wie folgt.

WebdriverIO

Übergeben Sie den Binärpfad innerhalb von goog:chromeOptions in Ihren WebdriverIO-Fähigkeiten.

Für das eigenständige Paket (wdioConfig()):

const browser = await remote(
  wdioConfig({
    axe: {
      apiKey: ACCESSIBILITY_API_KEY,
      projectId: PROJECT_ID
    },
    capabilities: {
      browserName: 'chrome',
      'goog:chromeOptions': {
        binary: process.env.CHROME_PATH
      }
    }
  })
)

Für WDIO Testrunner (wdioTestRunner()):

export const config = wdioTestRunner({
  axe: {
    apiKey: ACCESSIBILITY_API_KEY,
    projectId: PROJECT_ID
  }
}, {
  capabilities: [{
    browserName: 'chrome',
    'goog:chromeOptions': {
      binary: process.env.CHROME_PATH
    }
  }]
})

WebDriverJS

Rufen Sie webdriverConfig() zuerst auf, um das Chrome-Optionsobjekt zu erhalten, und setzen Sie dann den Binärpfad, bevor Sie den Browser erstellen:

const chromeOptions = webdriverConfig({
  axe: {
    apiKey: ACCESSIBILITY_API_KEY,
    projectId: PROJECT_ID
  }
})
chromeOptions.setBinaryPath(process.env.CHROME_PATH)

const browser = await new Builder()
  .forBrowser('chrome')
  .setChromeOptions(chromeOptions)
  .build()

Java Selenium

Setzen Sie den Binärpfad auf ChromeOptions , bevor Sie watcher.configure()aufrufen:

AxeWatcherOptions options =
    new AxeWatcherOptions()
        .setApiKey(System.getenv("ACCESSIBILITY_API_KEY"))
        .setProjectId(System.getenv("PROJECT_ID"));
AxeWatcher watcher = new AxeWatcher(options);
ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.setBinary(System.getenv("CHROME_PATH"));
chromeOptions = watcher.configure(chromeOptions);
WebDriver wrappedDriver = watcher.wrapDriver(new ChromeDriver(chromeOptions));