Hoppa till huvudinnehåll

Selenium Grid

Du kan använda WebdriverIO med din befintliga Selenium Grid-instans. För att ansluta dina tester till Selenium Grid behöver du bara uppdatera alternativen i dina testrunner-konfigurationer.

Här är ett kodavsnitt från exempel wdio.conf.ts.

export const config: WebdriverIO.Config = {
// ...
protocol: 'https',
hostname: 'yourseleniumgridhost.yourdomain.com',
port: 443,
path: '/wd/hub',
// ...

}

Du behöver ange lämpliga värden för protokoll, värdnamn, port och sökväg baserat på din Selenium Grid-konfiguration. Om du kör Selenium Grid på samma maskin som dina testskript, här är några typiska alternativ:

export const config: WebdriverIO.Config = {
// ...
protocol: 'http',
hostname: 'localhost',
port: 4444,
path: '/wd/hub',
// ...

}

Grundläggande autentisering med skyddad Selenium Grid

Det rekommenderas starkt att säkra din Selenium Grid. Om du har en skyddad Selenium Grid som kräver autentisering kan du skicka autentiseringshuvuden via alternativ. Se avsnittet headers i dokumentationen för mer information.

Timeout-konfigurationer med dynamisk Selenium Grid

När du använder en dynamisk Selenium Grid där webbläsarpoddar startas på begäran kan sessionsskapande möta en kall start. I sådana fall rekommenderas att öka tidsgränserna för sessionsskapande. Standardvärdet i alternativen är 120 sekunder, men du kan öka det om ditt rutnät tar längre tid att skapa en ny session.

connectionRetryTimeout: 180000,

Avancerade konfigurationer

För avancerade konfigurationer, se Testrunner konfigurationsfil.

Filoperationer med Selenium Grid

När du kör testfall med ett fjärrstyrt Selenium Grid körs webbläsaren på en fjärrmaskin, och du behöver ta särskild hänsyn till testfall som involverar filuppladdningar och nedladdningar.

Filnedladdningar

För Chromium-baserade webbläsare kan du se dokumentationen för Download file. Om dina testskript behöver läsa innehållet i en nedladdad fil måste du ladda ner den från den fjärrstyrda Selenium-noden till testkörningsmaskinen. Här är ett exempel på kodavsnitt från exemplet wdio.conf.ts konfiguration för Chrome-webbläsaren:

export const config: WebdriverIO.Config = {
// ...
protocol: 'https',
hostname: 'yourseleniumgridhost.yourdomain.com',
port: 443,
path: '/wd/hub',
// ...
capabilities: [{
browserName: 'chrome',
'se:downloadsEnabled': true
}],
//...
}

Filuppladdning med fjärrstyrd Selenium Grid

För att ladda upp en fil till en webbapp i fjärrwebbläsaren måste du först ladda upp filen till det fjärrstyrda rutnätet. Du kan se dokumentationen för uploadFile för detaljer.

Andra fil-/gridoperationer

Det finns några fler operationer som du kan utföra med Selenium Grid. Instruktionerna för Selenium Standalone bör fungera bra med Selenium Grid också. Se dokumentationen för Selenium Standalone för tillgängliga alternativ.

Selenium Grid officiell dokumentation

För mer information om Selenium Grid kan du se den officiella Selenium Grid dokumentationen.

Om du vill köra Selenium Grid i Docker, Docker compose eller Kubernetes, se Selenium-Docker GitHub-arkivet.

Welcome! How can I help?

WebdriverIO AI Copilot