Browserstack サービス
BrowserStackユーザー向けにローカルトンネルとジョブメタデータを管理するWebdriverIOサービス。
インストール
最も簡単な方法は、@wdio/browserstack-service
をpackage.json
のdevDependencyとして保持することです:
npm install @wdio/browserstack-service --save-dev
WebdriverIO
のインストール方法はこちらをご覧ください。
設定
WebdriverIOにはBrowserStackのサポートが標準で組み込まれています。wdio.conf.js
ファイルにuser
とkey
を設定する必要があります。このサービスプラグインはBrowserStack Tunnelのサポートを提供します。この機能を有効にするにはbrowserstackLocal: true
も設定してください。
BrowserStack上でのセッションステータスのレポートはCucumberオプションのstrict
設定を尊重します。
// wdio.conf.js
export const config = {
// ...
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
services: [
['browserstack', {
testObservability: true,
testObservabilityOptions: {
projectName: "プロジェクト名をここに入力",
buildName: "静的なビルドジョブ名をここに入力(例:Nightly regression)"
},
browserstackLocal: true
}]
],
// ...
};
オプション
BrowserStackサービスへの認証を行うには、コンフィグにuser
とkey
オプションが含まれている必要があります。
testObservability
テスト観測性は、自動化テストを改善するための洞察を提供し、より速くデバッグするのに役立つ高度なテ ストレポートツールです。これはbrowserstack-serviceのすべてのユーザーに対して、testObservability
フラグをtrue
に設定することでデフォルトで有効になっています。testObservability
フラグをfalse
に設定することでこれを無効にすることができます。
テストが完了すると、Test Observabilityにアクセスして、ユニークエラー分析、自動フレーキーテスト検出などの追加の洞察でビルドをデバッグできます。
BrowserStackインフラストラクチャでテストを実行しなくても、Test Observabilityを使用できます。CIやローカルマシン、あるいは他のクラウドサービスプロバイダーでテストを実行しても、Test Observabilityはテストに関するインテリジェントなテストレポートと高度な分析を生成できます。
BrowserStackインフラストラクチャでテストを実行せずにTest Observabilityを使用したい場合は、次のようにコンフィグを設定できます:
// wdio.conf.js
export const config = {
// ...
services: [
['browserstack', {
testObservability: true,
testObservabilityOptions: {
user: process.env.BROWSERSTACK_USERNAME,
key: process.env.BROWSERSTACK_ACCESS_KEY,
projectName: "プロジェクト名をここに入力",
buildName: "静的なビルドジョブ名をここに入力(例:Nightly regression)"
}
}]
],
// ...
};
Test Observabilityのすべての機能はこのサンドボックスで確認したり、こちらで詳細を読むことができます。
browserstackLocal
BrowserStackクラウドからの接続をあなたのコンピュータを経由してルーティングするには、これをtrueに設定します。
タイプ: Boolean
デフォルト: false
forcedStop
BrowserStack Localの停止コールバックが呼び出されるのを待たずに、完了時にBrowserStack Localプロセスを強制終了するには、これをtrueに設定します。これは実験的なものであり、すべての人が使用すべきではありません。主にこの問題の回避策として必要です。
タイプ: Boolean
デフォルト: false
app
Appiumでは、Appiumセッションのためのテスト対象アプリケーションとしてアプリを使用するために、ローカルマシンで利用可能なアプリファイルパスでこれを設定します。
タイプ: String
またはJsonObject
デフォルト: undefined
利用可能なappの値のリスト:
path
Appiumのテスト対象アプリケーションとして、ローカルで利用可能なアプリファイルパスを使用します。
services: [
['browserstack', {
app: '/path/to/local/app.apk'
// または
app: {
path: '/path/to/local/app.apk'
}
}]
]
アップロード時にcustom_idを渡します。
services: [
['browserstack', {
app: {
path: '/path/to/local/app.apk',
custom_id: 'custom_id'
}
}]
]
id
アプリをBrowserStackにアップロードした後に返されるアプリURLを使用します。
services: [
['browserstack', {
app: 'bs://<app-id>'
// または
app: {
id: 'bs://<app-id>'
}
}]
]
custom_id
既にアップロードされたアプリのcustom_idを使用
services: [
['browserstack', {
app: 'custom_id'
// または
app: {
custom_id: 'custom_id'
}
}]
]
shareable_id
既にアップロードされたアプリのshareable_idを使用
services: [
['browserstack', {
app: 'username/custom_id'
// または
app: {
shareable_id: 'username/custom_id'
}
}]
]
preferScenarioName
Cucumberのみ。単一のシナリオが実行された場合、BrowserStack Automateセッション名をシナリオ名に設定します。 wdio-cucumber-parallel-executionで並列実行する場合に便利です。
タイプ: Boolean
デフォルト: false