Zum Hauptinhalt springen

Für Webanwendungen

Integrieren Sie Ihre WebdriverIO-Tests mit Percy

Vor der Integration können Sie Percys Tutorial für Beispiel-Builds mit WebdriverIO erkunden. Integrieren Sie Ihre WebdriverIO-automatisierten Tests mit BrowserStack Percy. Hier ist ein Überblick über die Integrationsschritte:

Schritt 1: Erstellen Sie ein Percy-Projekt

Melden Sie sich an bei Percy. Erstellen Sie in Percy ein Projekt vom Typ Web und benennen Sie es. Nach der Erstellung generiert Percy ein Token. Notieren Sie es. Sie müssen es verwenden, um Ihre Umgebungsvariable im nächsten Schritt zu setzen.

Weitere Informationen zum Erstellen eines Projekts finden Sie unter Ein Percy-Projekt erstellen.

Schritt 2: Setzen Sie das Projekt-Token als Umgebungsvariable

Führen Sie den folgenden Befehl aus, um PERCY_TOKEN als Umgebungsvariable zu setzen:

export PERCY_TOKEN="<your token here>"   // macOS or Linux
$Env:PERCY_TOKEN="<your token here>" // Windows PowerShell
set PERCY_TOKEN="<your token here>" // Windows CMD

Schritt 3: Installieren Sie Percy-Abhängigkeiten

Installieren Sie die Komponenten, die für die Einrichtung der Integrationsumgebung für Ihre Testsuite erforderlich sind.

Um die Abhängigkeiten zu installieren, führen Sie den folgenden Befehl aus:

npm install --save-dev @percy/cli @percy/webdriverio

Schritt 4: Aktualisieren Sie Ihr Testskript

Importieren Sie die Percy-Bibliothek, um die Methoden und Attribute zu verwenden, die für Screenshots benötigt werden. Das folgende Beispiel verwendet die percySnapshot()-Funktion im asynchronen Modus:

import percySnapshot from '@percy/webdriverio';
describe('webdriver.io page', () => {
it('should have the right title', async () => {
await browser.url('https://webdriver.io');
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js');
await percySnapshot('webdriver.io page');
});
});

Wenn Sie WebdriverIO im Standalone-Modus verwenden, übergeben Sie das Browser-Objekt als erstes Argument an die percySnapshot-Funktion:

import { remote } from 'webdriverio'

import percySnapshot from '@percy/webdriverio';

const browser = await remote({
logLevel: 'trace',
capabilities: {
browserName: 'chrome'
}
});

await browser.url('https://duckduckgo.com');
const inputElem = await browser.$('#search_form_input_homepage');
await inputElem.setValue('WebdriverIO');
const submitBtn = await browser.$('#search_button_homepage');
await submitBtn.click();
// the browser object is required in standalone mode
percySnapshot(browser, 'WebdriverIO at DuckDuckGo');
await browser.deleteSession();

Die Argumente der Snapshot-Methode sind:

percySnapshot(name[, options])

Standalone-Modus

percySnapshot(browser, name[, options])
  • browser (erforderlich) - Das WebdriverIO-Browser-Objekt
  • name (erforderlich) - Der Snapshot-Name; muss für jeden Snapshot eindeutig sein
  • options - Siehe Konfigurationsoptionen pro Snapshot

Weitere Informationen finden Sie unter Percy-Snapshot.

Schritt 5: Percy ausführen

Führen Sie Ihre Tests mit dem Befehl percy exec aus, wie unten gezeigt:

Wenn Sie den Befehl percy:exec nicht verwenden können oder Ihre Tests lieber mit IDE-Ausführungsoptionen ausführen möchten, können Sie die Befehle percy:exec:start und percy:exec:stop verwenden. Weitere Informationen finden Sie unter Percy ausführen.

percy exec -- wdio wdio.conf.js
[percy] Percy has started!
[percy] Created build #1: https://percy.io/[your-project]
[percy] Running "wdio wdio.conf.js"
...
[...] webdriver.io page
[percy] Snapshot taken "webdriver.io page"
[...] ✓ should have the right title
...
[percy] Stopping percy...
[percy] Finalized build #1: https://percy.io/[your-project]
[percy] Done!

Besuchen Sie die folgenden Seiten für weitere Details:

RessourceBeschreibung
Offizielle DokumentationPercys WebdriverIO-Dokumentation
Beispiel-Build - TutorialPercys WebdriverIO-Tutorial
Offizielles VideoVisuelles Testen mit Percy
BlogEinführung in Visual Reviews 2.0

Welcome! How can I help?

WebdriverIO AI Copilot