Drivrutinsbinärer
För att köra automatisering baserad på WebDriver-protokollet behöver du ha webbläsardrivrutiner installerade som översätter automatiseringskommandon och kan utföra dem i webbläsaren.
Automatiserad installation
Med WebdriverIO v8.14
och senare finns det inte längre behov av att manuellt ladda ner och installera några webbläsardrivrutiner eftersom detta hanteras av WebdriverIO. Allt du behöver göra är att ange vilken webbläsare du vill testa och WebdriverIO gör resten.
Anpassa graden av automatisering
WebdriverIO har tre nivåer av automatisering:
1. Ladda ner och installera webbläsaren med hjälp av @puppeteer/browsers.
Om du anger en browserName
/browserVersion
-kombination i capabilities-konfigurationen, kommer WebdriverIO att ladda ner och installera den begärda kombinationen, oavsett om det finns en befintlig installation på datorn. Om du utelämnar browserVersion
kommer WebdriverIO först att försöka hitta och använda en befintlig installation med locate-app, annars kommer den att ladda ner och installera den aktuella stabila webbläsarversionen. För mer information om browserVersion
, se här.
Automatiserad webbläsarinställning stöder inte Microsoft Edge. För närvarande stöds endast Chrome, Chromium och Firefox.
Om du har en webbläsarinstallation på en plats som inte kan upptäckas automatiskt av WebdriverIO, kan du ange webbläsarbinärer vilket inaktiverar den automatiska nedladdningen och installationen.
{
capabilities: [
{
browserName: 'chrome', // eller 'firefox' eller 'chromium'
'goog:chromeOptions': { // eller 'moz:firefoxOptions' eller 'wdio:chromedriverOptions'
binary: '/path/to/chrome'
},
}
]
}
2. Ladda ner och installera drivrutinen med hjälp av Chromedriver, Edgedriver eller Geckodriver.
WebdriverIO kommer alltid att göra detta, såvida inte drivrutinens binary specificeras i konfigurationen:
{
capabilities: [
{
browserName: 'chrome', // eller 'firefox', 'msedge', 'safari', 'chromium'
'wdio:chromedriverOptions': { // eller 'wdio:geckodriverOptions', 'wdio:edgedriverOptions'
binary: '/path/to/chromedriver' // eller 'geckodriver', 'msedgedriver'
}
}
]
}
WebdriverIO kommer inte att automatiskt ladda ner Safari-drivrutinen eftersom den redan är installerad på macOS.
Undvik att ange en binary
för webbläsaren och utelämna motsvarande drivrutins binary
eller vice versa. Om endast ett av binary
-värdena anges kommer WebdriverIO att försöka använda eller ladda ner en kompatibel webbläsare/drivrutin. I vissa scenarier kan det dock resultera i en inkompatibel kombination. Därför rekommenderas att du alltid anger båda för att undvika problem orsakade av versionsinkompatibiliteter.
3. Starta/stoppa drivrutinen.
Som standard kommer WebdriverIO automatiskt att starta och stoppa drivrutinen med hjälp av en godtycklig oanvänd port. Att ange något av följande konfigurationer kommer att inaktivera denna funktion, vilket innebär att du måste starta och stoppa drivrutinen manuellt:
- Valfritt värde för port.
- Valfritt värde som avviker från standardvärdet för protocol, hostname, path.
- Valfritt värde för både user och key.
Manuell installation
Följande beskriver hur du fortfarande kan installera varje drivrutin individuellt. Du hittar en lista med alla drivrutiner i awesome-selenium
README.
Om du letar efter att installera mobila och andra UI-plattformar, ta en titt på vår Appium Setup guide.
Chromedriver
För att automatisera Chrome kan du ladda ner Chromedriver direkt från projektets webbplats eller genom NPM-paketet:
- npm
- Yarn
- pnpm
npm install -g chromedriver
yarn global add chromedriver
pnpm add -g chromedriver
Du kan sedan starta det via:
chromedriver --port=4444 --verbose
Geckodriver
För att automatisera Firefox, ladda ner den senaste versionen av geckodriver
för din miljö och packa upp den i din projektmapp:
- NPM
- Curl
- Brew
- Windows (64 bit / Chocolatey)
- Windows (64 bit / Powershell) DevTools
- npm
- Yarn
- pnpm
npm install geckodriver
yarn add geckodriver
pnpm add geckodriver
Linux:
curl -L https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-linux64.tar.gz | tar xz
MacOS (64 bit):
curl -L https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-macos.tar.gz | tar xz
brew install geckodriver
choco install selenium-gecko-driver
# Run as privileged session. Right-click and set 'Run as Administrator'
# Use geckodriver-v0.24.0-win32.zip for 32 bit Windows
$url = "https://github.com/mozilla/geckodriver/releases/download/v0.24.0/geckodriver-v0.24.0-win64.zip"
$output = "geckodriver.zip" # will drop into current directory unless defined otherwise
$unzipped_file = "geckodriver" # will unzip to this folder name
# By default, Powershell uses TLS 1.0 the site security requires TLS 1.2
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
# Downloads Geckodriver
Invoke-WebRequest -Uri $url -OutFile $output
# Unzip Geckodriver
Expand-Archive $output -DestinationPath $unzipped_file
cd $unzipped_file
# Globally Set Geckodriver to PATH
[System.Environment]::SetEnvironmentVariable("PATH", "$Env:Path;$pwd\geckodriver.exe", [System.EnvironmentVariableTarget]::Machine)
Obs: Andra geckodriver
-releaser finns tillgängliga här. Efter nedladdning kan du starta drivrutinen via:
/path/to/binary/geckodriver --port 4444
Edgedriver
Du kan ladda ner drivrutinen för Microsoft Edge på projektets webbplats eller som NPM-paket via:
npm install -g edgedriver
edgedriver --version # prints: Microsoft Edge WebDriver 115.0.1901.203 (a5a2b1779bcfe71f081bc9104cca968d420a89ac)
Safaridriver
Safaridriver kommer förinstallerat på din MacOS och kan startas direkt via:
safaridriver -p 4444