Verwenden Sie Chrome für Tests oder Chromium mit Axe Watcher
Anleitung zur Installation und Konfiguration von Chrome für Tests oder Chromium für Plattformen, die einen systeminstallierten Browser verbinden
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/browsersist 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@stableUm stattdessen Chromium zu installieren, führen Sie aus:
npx @puppeteer/browsers install chromium@latestDer 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/chromeSetzen Sie die
CHROME_PATH-Umgebungsvariable auf diesen Pfad, bevor Sie Ihre Tests ausführen.important@puppeteer/browsers installlä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: trueUm stattdessen Chromium zu installieren, verwenden Sie
latestfürchrome-version:- name: Setup Chromium uses: browser-actions/setup-chrome@latest id: setup-chrome with: chrome-version: latest install-chromedriver: trueIn 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));