LambdaTest Service
wdio-lambdatest-service ist ein Paket von Drittanbietern, weitere Informationen finden Sie auf GitHub | npm
Ein WebdriverIO-Service, der Tunnel und Job-Metadaten für LambdaTest-Benutzer verwaltet.
Installation
npm i wdio-lambdatest-service --save-dev
Anweisungen zur Installation von WebdriverIO
finden Sie hier.
Konfiguration
WebdriverIO bietet standardmäßig LambdaTest-Unterstützung. Sie sollten einfach user
und key
in Ihrer wdio.conf.js
Datei einstellen. Um die Funktion für App-Automatisierung zu aktivieren, setzen Sie product: 'appAutomation'
in Ihrer wdio.conf.js
Datei. Dieses Service-Plugin bietet Unterstützung für LambdaTest Tunnel. Setzen Sie auch tunnel: true
, um diese Funktion zu aktivieren.
// wdio.conf.js
exports.config = {
// ...
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
logFile : './logDir/api.log',
product : 'appAutomation',
services: [
['lambdatest', {
tunnel: true
}]
],
// ...
};
Um Testfehlerbemerkungen im Automatisierungs-Dashboard zu erhalten
Um Testfehlerbemerkungen im Automatisierungs-Dashboard zu erhalten, fügen Sie einfach ltErrorRemark: true
in Ihrer wdio.conf.js
hinzu.
Um Apps von lokal oder URL hochzuladen
Laden Sie android
oder ios
Apps von lokalen oder gehosteten App-URLs hoch, indem Sie diese erforderliche Konfiguration in Ihrer wdio.conf.js
hinzufügen. Um die hochgeladene App gleichzeitig in demselben Durchlauf zum Testen zu verwenden, setzen Sie enableCapability = true
, dadurch wird der App-URL-Wert in den Capabilities festgelegt.
// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //provide your desired app name
app_path : "/path/to/your/app/file", //provide the local app location
// or
app_url : "https://example.test_android.apk", //provide the url where your app is horsted or stored
custom_id : "12345", //provide your desired custom id
enableCapability : true
}
}
]
]
Optionen
Um sich beim LambdaTest-Service zu authentifizieren, muss Ihre Konfiguration die Optionen user
und key
enthalten.
tunnel
Setzen Sie dies auf true, um die Weiterleitung von Verbindungen von der LambdaTest-Cloud durch Ihren Computer zu ermöglichen. Sie müssen auch tunnel
in den Browser-Capabilities auf true setzen.
Typ: Boolean
Standard: false
lambdatestOpts
Spezifizierte Optionen werden an LambdaTest Tunnel weitergegeben.
Typ: Object
Standard: {}
Nachfolgend finden Sie eine umfassende Liste aller verfügbaren Optionen:
tunnelName
Gibt den benutzerdefinierten LambdaTest Tunnel-Namen an, der verwendet werden soll.
Beispiel:
{"tunnelName": "my_custom_tunnel"}
port
Port, auf dem LambdaTest Tunnel aktiviert werden soll.
Beispiel:
{"port": 33000}
user
LambdaTest Benutzername.
Beispiel:
{"user": "your_username"}
key
LambdaTest Zugangsschlüssel.
Beispiel:
{"key": "your_access_key"}
verbose
Soll jede Proxyanfrage in der Standardausgabe protokolliert werden.
Beispiel:
{"verbose": true}
logFile
Ort der LambdaTest Tunnel-Protokolldatei.
Beispiel:
{"logFile": "/path/to/log/file"}
config
Pfad der zu verwendenden Konfigurationsdatei. Beispiel:
{"config": "/path/to/config/file"}
dir
Geben Sie das lokale Verzeichnis an, das von einem Dateiserver am Tunnel-Port bereitgestellt wird.
Beispiel:
{"dir": "/path/to/local/directory"}
proxyHost
Gibt den Hostnamen des Tunnel-Proxy-Ports an.
Beispiel:
{"proxyHost": "proxy.example.com"}
proxyUser
Gibt den Benutzernamen des Tunnel-Proxy-Ports an.
Beispiel:
{"proxyUser": "your_proxy_username"}
proxyPass
Gibt das Passwort des Tunnel-Proxy-Ports an.
Beispiel:
{"proxyPass": "your_proxy_password"}
proxyPort
Gibt die Portnummer an, an der der Tunnel-Proxy aktiviert wird.
Beispiel:
{"proxyPort": 8080}
egressOnly
Verwendet Proxy-Einstellungen nur für ausgehende Anfragen.
Beispiel:
{"egressOnly": true}
ingressOnly
Leitet nur eingehenden Verkehr über den angegebenen Proxy.
Beispiel:
{"ingressOnly": true}
pacfile
Um PAC (Proxy Auto-Configuration) beim lokalen Testen zu verwenden, geben Sie den Pfad einer PAC-Datei an.
Beispiel:
{"pacfile": "/path/to/pacfile"}
loadBalanced
Aktiviert Load Balancing für LambdaTest Tunnel.
Beispiel:
{"loadBalanced": true}
mode
Gibt an, in welchem Modus der Tunnel laufen soll: "ssh" oder "ws". (Standard "ssh").
Beispiel:
{"mode": "ssh"}
sshConnType
Geben Sie den Typ der SSH-Verbindung an (over_22, over_443, over_ws). Um –sshConnType zu verwenden, geben Sie zuerst das Flag ––mode ssh an.
Beispiel:
{"sshConnType": "over_22"}
maxSSHConnections
Erhöhen Sie die SSH-Verbindung vom Tunnel-Client zum Tunnel-Server. Der maximal zulässige Wert ist 30.
Beispiel:
{"maxSSHConnections": 2}
sharedTunnel
Tunnel unter Teammitgliedern teilen.
Beispiel:
{"sharedTunnel": true}
env
Die Umgebung, in der der LambdaTest Tunnel ausgeführt wird.
Beispiel:
{"env": "production"}
infoAPIPort
Stellt Tunnel Info API am angegebenen Port zur Verfügung.
Beispiel:
{"infoAPIPort": 8080}
callbackURL
Callback-URL für den Tunnel-Status.
Beispiel:
{"callbackURL": "https://example.com/callback"}
allowHosts
Kommagetrennte Liste von Hosts, die über den Tunnel geleitet werden sollen. Alles andere wird über das Internet geleitet.
Beispiel:
{"allowHosts": "example.com,anotherexample.com"}
bypassHosts
Kommagetrennte Liste von Hosts, die vom Tunnel umgangen werden sollen. Diese werden über das Internet geleitet.
Beispiel:
{"bypassHosts": "example.com,anotherexample.com"}
clientCert
mTLS Client-Zertifikat-Dateipfad.
Beispiel:
{"clientCert": "/path/to/client_certificate"}
clientKey
mTLS Client-Schlüssel-Dateipfad.
Beispiel:
{"clientKey": "/path/to/client_key"}
mTLSHosts
Kommagetrennte Liste von mTLS-Hosts.
Beispiel:
{"mTLSHosts": "example.com,anotherexample.com"}
dns
Kommagetrennte Liste von DNS-Servern.
Beispiel:
{"dns": "8.8.8.8,8.8.4.4"}
mitm
Aktivieren Sie den MITM (Man-in-the-middle) Modus für LambdaTest Tunnel.
Beispiel:
{"mitm": true}
ntlm
Um die Microsoft NTLM (Windows NT LAN Manager) Authentifizierung für Kommunikations- oder Transportzwecke zu verwenden.
Beispiel:
{"ntlm": true}
pidfile
Pfad der pidfile, in die die Prozess-ID geschrieben wird.
Beispiel:
{"pidfile": "/path/to/pidfile"}
usePrivateIp
Setzt die Remote-Adresse auf eine interne IP der Client-Maschine.
Beispiel:
{"usePrivateIp": true}
Weitere Informationen zu diesen Optionen finden Sie hier.
preferScenarioName
Nur Cucumber. Setzen Sie den Sitzungsnamen auf den Szenarionamen, wenn nur ein einzelnes Szenario ausgeführt wurde. Nützlich bei paralleler Ausführung mit wdio-cucumber-parallel-execution.
Typ: Boolean
Standard: false
sessionNameFormat
Passen Sie das Sitzungsnamenformat an.
Typ: Function
Standard (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
Standard (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
Nur Mocha. Hängen Sie den Testtitel nicht an den Sitzungsnamen an.
Typ: Boolean
Standard: false
sessionNamePrependTopLevelSuiteTitle
Nur Mocha. Stellen Sie den Titel der obersten Suite dem Sitzungsnamen voran.
Typ: Boolean
Standard: false
setSessionName
Legen Sie den Sitzungsnamen automatisch fest.
Typ: Boolean
Standard: true
setSessionStatus
Legen Sie den Sitzungsstatus automatisch fest (bestanden/fehlgeschlagen).
Typ: Boolean
Standard: true
ignoreTestCountInName
Ignorieren Sie die Anzahl der Wiederholungen eines Tests im Namen
Typ: Boolean
Standard: false
useScenarioName
Um Testnamen als Szenarionamen für Cucumber-spezifische Tests zu erhalten, fügen Sie einfach useScenarioName: true
in Ihrer wdio.conf.js
hinzu.
Schritte zum Kompilieren und Veröffentlichen
- Klonen Sie dieses Repository.
- Führen Sie "npm install" aus
- Führen Sie "npm run build" aus
- Schritte zum Veröffentlichen: Führen Sie "npm login" aus
- Führen Sie "npm publish --access public" aus
Weitere Informationen zu WebdriverIO finden Sie auf der Homepage.