Usługa LambdaTest
wdio-lambdatest-service jest pakietem zewnętrznym, więcej informacji można znaleźć na GitHub | npm
Usługa WebdriverIO, która zarządza tunelem i metadanymi zadań dla użytkowników LambdaTest.
Instalacja
npm i wdio-lambdatest-service --save-dev
Instrukcje dotyczące instalacji WebdriverIO
można znaleźć tutaj.
Konfiguracja
WebdriverIO ma wbudowaną obsługę LambdaTest. Wystarczy ustawić user
i key
w pliku wdio.conf.js
. Aby włączyć funkcję automatyzacji aplikacji, ustaw product: 'appAutomation'
w pliku wdio.conf.js
. Ta wtyczka usługi zapewnia wsparcie dla LambdaTest Tunnel. Ustaw również tunnel: true
, aby aktywować tę funkcję.
// 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
}]
],
// ...
};
Aby uzyskać uwagi o błędach testu na pulpicie automatyzacji
Aby uzyskać uwagi o błędach testu na pulpicie automatyzacji, po prostu dodaj ltErrorRemark: true
w swoim wdio.conf.js
.
Aby przesłać aplikację z lokalnego źródła lub URL
Prześlij aplikacje android
lub ios
z lokalnego źródła lub hostowanego URL aplikacji, dodając wymaganą konfigurację w swoim wdio.conf.js
. Aby używać przesłanej aplikacji do testowania w tym samym uruchomieniu, ustaw enableCapability = true
, co ustawi wartość URL aplikacji w możliwościach.
// 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
}
}
]
]
Opcje
Aby autoryzować usługę LambdaTest, Twoja konfiguracja musi zawierać opcje user
i key
.
tunnel
Ustaw to na true, aby włączyć przekierowanie połączeń z chmury LambdaTest przez Twój komputer. Będziesz musiał również ustawić tunnel
na true w możliwościach przeglądarki.
Typ: Boolean
Domyślnie: false
lambdatestOpts
Określone opcjonalne parametry zostaną przekazane do LambdaTest Tunnel.
Typ: Object
Domyślnie: {}
Poniżej znajduje się kompleksowa lista wszystkich dostępnych opcji:
tunnelName
Określa niestandardową nazwę LambdaTest Tunnel, która ma być używana.
Przykład:
{"tunnelName": "my_custom_tunnel"}
port
Port, na którym ma być aktywowany LambdaTest Tunnel.
Przykład:
{"port": 33000}
user
Nazwa użytkownika LambdaTest.
Przykład:
{"user": "your_username"}
key
Klucz dostępu LambdaTest.
Przykład:
{"key": "your_access_key"}
verbose
Czy każde żądanie proxy powinno być logowane do stdout.
Przykład:
{"verbose": true}
logFile
Lokalizacja pliku dziennika LambdaTest Tunnel.
Przykład:
{"logFile": "/path/to/log/file"}
config
Ścieżka pliku konfiguracyjnego do użycia. Przykład:
{"config": "/path/to/config/file"}
dir
Określ lokalny katalog, który będzie udostępniany przez serwer plików na porcie Tunnel.
Przykład:
{"dir": "/path/to/local/directory"}
proxyHost
Określa nazwę hosta portu proxy Tunnel.
Przykład:
{"proxyHost": "proxy.example.com"}
proxyUser
Określa nazwę użytkownika portu proxy Tunnel.
Przykład:
{"proxyUser": "your_proxy_username"}
proxyPass
Określa hasło portu proxy Tunnel.
Przykład:
{"proxyPass": "your_proxy_password"}
proxyPort
Określa numer portu, na którym zostanie aktywowany proxy Tunnel.
Przykład:
{"proxyPort": 8080}
egressOnly
Używa ustawień proxy tylko dla żądań wychodzących.
Przykład:
{"egressOnly": true}
ingressOnly
Kieruje tylko ruch przychodzący przez określone proxy.
Przykład:
{"ingressOnly": true}
pacfile
Aby używać PAC (Proxy Auto-Configuration) w testach lokalnych, podaj ścieżkę do pliku PAC.
Przykład:
{"pacfile": "/path/to/pacfile"}
loadBalanced
Aktywuje Load Balancing dla LambdaTest Tunnel.
Przykład:
{"loadBalanced": true}
mode
Określa, w jakim trybie powinien działać tunel: "ssh" lub "ws". (domyślnie "ssh").
Przykład:
{"mode": "ssh"}
sshConnType
Określa typ połączenia ssh (over_22, over_443, over_ws). Aby użyć –sshConnType, najpierw określ flagę ––mode ssh.
Przykład:
{"sshConnType": "over_22"}
maxSSHConnections
Zwiększa liczbę połączeń SSH z klienta Tunnel do serwera Tunnel. Maksymalna dozwolona wartość to 30.
Przykład:
{"maxSSHConnections": 2}
sharedTunnel
Udostępnianie Tunnel między członkami zespołu.
Przykład:
{"sharedTunnel": true}
env
Środowisko, na którym będzie działał LambdaTest Tunnel.
Przykład:
{"env": "production"}
infoAPIPort
Udostępnia Tunnel Info API na określonym porcie.
Przykład:
{"infoAPIPort": 8080}
callbackURL
URL wywołania zwrotnego dla statusu tunelu.
Przykład:
{"callbackURL": "https://example.com/callback"}
allowHosts
Lista hostów oddzielonych przecinkami, które mają być kierowane przez tunel. Wszystko inne będzie kierowane przez Internet.
Przykład:
{"allowHosts": "example.com,anotherexample.com"}
bypassHosts
Lista hostów oddzielonych przecinkami, które mają być pomijane przez tunel. Będą one kierowane przez internet.
Przykład:
{"bypassHosts": "example.com,anotherexample.com"}
clientCert
Ścieżka pliku certyfikatu klienta mTLS.
Przykład:
{"clientCert": "/path/to/client_certificate"}
clientKey
Ścieżka pliku klucza klienta mTLS.
Przykład:
{"clientKey": "/path/to/client_key"}
mTLSHosts
Lista hostów mTLS oddzielonych przecinkami.
Przykład:
{"mTLSHosts": "example.com,anotherexample.com"}
dns
Lista serwerów DNS oddzielonych przecinkami.
Przykład:
{"dns": "8.8.8.8,8.8.4.4"}
mitm
Włącz tryb MITM (Man-in-the-middle) dla LambdaTest Tunnel.
Przykład:
{"mitm": true}
ntlm
Aby używać uwierzytelniania Microsoft NTLM (Windows NT LAN Manager) do komunikacji lub celów transportowych.
Przykład:
{"ntlm": true}
pidfile
Ścieżka pliku pid, gdzie będzie zapisany identyfikator procesu.
Przykład:
{"pidfile": "/path/to/pidfile"}
usePrivateIp
Ustawia zdalny adres na wewnętrzny adres IP maszyny klienta.
Przykład:
{"usePrivateIp": true}
Więcej informacji o tych opcjach znajdziesz tutaj.
preferScenarioName
Tylko dla Cucumber. Ustaw nazwę sesji na nazwę scenariusza, jeśli uruchomiono tylko jeden scenariusz. Przydatne podczas uruchamiania równoległego z wdio-cucumber-parallel-execution.
Typ: Boolean
Domyślnie: false
sessionNameFormat
Dostosuj format nazwy sesji.
Typ: Function
Domyślnie (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
Domyślnie (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
Tylko dla Mocha. Nie dołączaj tytułu testu do nazwy sesji.
Typ: Boolean
Domyślnie: false
sessionNamePrependTopLevelSuiteTitle
Tylko dla Mocha. Dodaj tytuł zestawu najwyższego poziomu do nazwy sesji.
Typ: Boolean
Domyślnie: false
setSessionName
Automatycznie ustaw nazwę sesji.
Typ: Boolean
Domyślnie: true
setSessionStatus
Automatycznie ustaw status sesji (zaliczony/niezaliczony).
Typ: Boolean
Domyślnie: true
ignoreTestCountInName
Ignoruj liczbę powtórzeń testu w nazwie
Typ: Boolean
Domyślnie: false
useScenarioName
Aby uzyskać nazwy testów jako nazwy scenariuszy dla testów Cucumber, po prostu dodaj useScenarioName: true
w swoim wdio.conf.js
.
Kroki do kompilacji i publikacji
- git clone tego repozytorium.
- uruchom "npm install"
- uruchom "npm run build"
- Kroki do publikacji: uruchom "npm login"
- uruchom "npm publish --access public"
Więcej informacji na temat WebdriverIO można znaleźć na stronie głównej.