Usługa Browserstack
Usługa WebdriverIO, która zarządza lokalnym tunelem i metadanymi zadań dla użytkowników BrowserStack.
Instalacja
Najłatwiejszym sposobem jest utrzymanie @wdio/browserstack-service jako devDependency w pliku package.json, poprzez:
npm install @wdio/browserstack-service --save-dev
Instrukcje dotyczące instalacji WebdriverIO można znaleźć tutaj.
Konfiguracja
WebdriverIO ma wbudowaną obsługę BrowserStack. Powinieneś ustawić user i key w swoim pliku wdio.conf.js. Ta wtyczka usługi zapewnia wsparcie dla BrowserStack Tunnel. Ustaw browserstackLocal: true, aby aktywować tę funkcję.
Raportowanie statusu sesji w BrowserStack będzie respektować ustawienie strict w opcjach Cucumber.
// wdio.conf.js
export const config = {
// ...
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
services: [
['browserstack', {
testObservability: true,
testObservabilityOptions: {
projectName: "Your project name goes here",
buildName: "The static build job name goes here e.g. Nightly regression"
},
browserstackLocal: true
}]
],
// ...
};
Opcje
Aby autoryzować się w usłudze BrowserStack, Twoja konfiguracja musi zawierać opcje user i key.
testObservability
Test Observability to zaawansowane narzędzie do raportowania testów, które dostarcza informacji poprawiających testy automatyczne i pomaga szybciej debugować. Jest domyślnie włączone poprzez ustawienie flagi testObservability na true dla wszystkich użytkowników browserstack-service. Możesz je wyłączyć, ustawiając flagę testObservability na false.
Po zakończeniu testów możesz odwiedzić Test Observability, aby debugować swoje buildy z dodatkowymi informacjami, takimi jak analiza unikalnych błędów, automatyczne wykrywanie niestabilnych testów i więcej.
Możesz korzystać z Test Observability nawet jeśli nie uruchamiasz testów na infrastrukturze BrowserStack. Nawet jeśli uruchamiasz testy na CI, lokalnej maszynie lub innych dostawcach usług w chmurze, Test Observability nadal może generować inteligentne raporty testowe i zaawansowane analizy twoich testów.
Jeśli chcesz korzystać z Test Observability bez uruchamiania testów na infrastrukturze BrowserStack, możesz ustawić konfigurację w następujący sposób:
// wdio.conf.js
export const config = {
// ...
services: [
['browserstack', {
testObservability: true,
testObservabilityOptions: {
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
projectName: "Your project name goes here",
buildName: "The static build job name goes here e.g. Nightly regression"
}
}]
],
// ...
};
Mo żesz eksplorować wszystkie funkcje Test Observability w tym sandboxie lub przeczytać więcej o tym tutaj.
browserstackLocal
Ustaw to na true, aby włączyć routowanie połączeń z chmury BrowserStack przez twój komputer.
Typ: Boolean
Domyślnie: false
forcedStop
Ustaw to na true, aby zabić proces BrowserStack Local po zakończeniu, bez czekania na wywołanie zwrotne zatrzymania BrowserStack Local. Jest to eksperymentalne i nie powinno być używane przez wszystkich. Głównie konieczne jako obejście dla tego problemu.
Typ: Boolean
Domyślnie: false
app
Appium ustaw to ze ścieżką pliku aplikacji dostępną lokalnie na twoim komputerze, aby użyć aplikacji jako testowanej aplikacji dla sesji Appium.
Typ: String lub JsonObject
Domyślnie: undefined
Lista dostępnych wartości app:
path
Użyj lokalnie dostępnej ścieżki pliku aplikacji jako aplikacji testowanej dla Appium.
services: [
['browserstack', {
app: '/path/to/local/app.apk'
// OR
app: {
path: '/path/to/local/app.apk'
}
}]
]
Przekaż custom_id podczas przesyłania aplikacji.
services: [
['browserstack', {
app: {
path: '/path/to/local/app.apk',
custom_id: 'custom_id'
}
}]
]
id
Użyj URL aplikacji zwróconego po przesłaniu aplikacji do BrowserStack.
services: [
['browserstack', {
app: 'bs://<app-id>'
// OR
app: {
id: 'bs://<app-id>'
}
}]
]
custom_id
użyj custom_id już przesłanych aplikacji
services: [
['browserstack', {
app: 'custom_id'
// OR
app: {
custom_id: 'custom_id'
}
}]
]
shareable_id
użyj shareable_id już przesłanych aplikacji
services: [
['browserstack', {
app: 'username/custom_id'
// OR
app: {
shareable_id: 'username/custom_id'
}
}]
]
preferScenarioName
Tylko Cucumber. Ustaw nazwę sesji BrowserStack Automate na nazwę scenariusza, jeśli uruchomiono tylko jeden scenariusz. Przydatne przy równoległym uruchamianiu z wdio-cucumber-parallel-execution.
Typ: Boolean
Domyślnie: false
sessionNameFormat
Dostosuj format nazwy sesji BrowserStack Automate.
Typ: Function
Domyślnie (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
Domyślnie (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle
sessionNameOmitTestTitle
Tylko Mocha. Nie dołączaj tytułu testu do nazwy sesji BrowserStack Automate.
Typ: Boolean
Domyślnie: false
sessionNamePrependTopLevelSuiteTitle
Tylko Mocha. Dodaj tytuł najwyższego poziomu zestawu na początku nazwy sesji BrowserStack Automate.
Typ: Boolean
Domyślnie: false
setSessionName
Automatycznie ustaw nazwę sesji BrowserStack Automate.
Typ: Boolean
Domyślnie: true
setSessionStatus
Automatycznie ustaw status sesji BrowserStack Automate (powodzenie/niepowodzenie).
Typ: Boolean
Domyślnie: true
buildIdentifier
buildIdentifier to unikalny identyfikator odróżniający każde wykonanie, który zostaje dołączony do buildName. Wybierz format buildIdentifier spośród dostępnych wyrażeń:
BUILD_NUMBER: Generuje przyrostowy licznik z każdym wykonaniemDATE_TIME: Generuje znacznik czasu z każdym wykonaniem. Np. 05-Nov-19:30
services: [
['browserstack', {
buildIdentifier: '#${BUILD_NUMBER}'
}]
]
Build Identifier obsługuje użycie jednego lub obu wyrażeń wraz z innymi znakami, umożliwiając niestandardowe opcje formatowania.
opts
Opcje BrowserStack Local.
Typ: Object
Domyślnie: {}
Lista dostępnych modyfikatorów testów lokalnych do przekazania jako opts: