メインコンテンツにスキップ

クラウドサービスの利用

Sauce Labs、Browserstack、TestingBot、LambdaTest、PerfectoなどのオンデマンドサービスをWebdriverIOで利用するのは非常に簡単です。オプションでサービスのuserkeyを設定するだけです。

必要に応じて、buildなどのクラウド固有の機能を設定することで、テストをパラメータ化することもできます。クラウドサービスをTravisでのみ実行する場合は、CI環境変数を使用してTravisにいるかどうかを確認し、それに応じて設定を変更できます。

// wdio.conf.js
export let config = {...}
if (process.env.CI) {
config.user = process.env.SAUCE_USERNAME
config.key = process.env.SAUCE_ACCESS_KEY
}

Sauce Labs

Sauce Labsでリモートでテストを実行するように設定できます。

唯一の要件は、設定(wdio.conf.jsでエクスポートされるか、webdriverio.remote(...)に渡される)でuserkeyをSauce Labsのユーザー名とアクセスキーに設定することです。

また、任意のブラウザの機能にキーと値のペアとして、オプションのテスト設定オプションを渡すこともできます。

Sauce Connect

インターネットからアクセスできないサーバー(localhostなど)に対してテストを実行する場合は、Sauce Connectを使用する必要があります。

これはWebdriverIOのサポート範囲外であるため、自分で起動する必要があります。

WDIOテストランナーを使用している場合は、@wdio/sauce-serviceをダウンロードしてwdio.conf.jsで設定してください。これはSauce Connectの実行に役立ち、テストをSauceサービスに適切に統合するための追加機能を提供します。

Travis CIを使用する場合

ただし、Travis CIは各テストの前にSauce Connectを起動するためのサポートを提供しているため、その指示に従うこともできます。

その場合は、各ブラウザの`capabilities`に`tunnel-identifier`テスト設定オプションを設定する必要があります。Travisはデフォルトでこれを`TRAVIS_JOB_NUMBER`環境変数に設定します。

また、Sauce Labsでビルド番号ごとにテストをグループ化するには、`build`を`TRAVIS_BUILD_NUMBER`に設定します。

最後に、`name`を設定すると、このビルドのSauce Labsでのこのテストの名前が変更されます。WDIOテストランナーと`@wdio/sauce-service`を組み合わせて使用​​している場合、WebdriverIOはテストの適切な名前を自動的に設定します。

`capabilities`の例

browserName: 'chrome',
version: '27.0',
platform: 'XP',
'tunnel-identifier': process.env.TRAVIS_JOB_NUMBER,
name: 'integration',
build: process.env.TRAVIS_BUILD_NUMBER

タイムアウト

テストをリモートで実行しているため、タイムアウトを延長する必要がある場合があります。

テスト設定オプションとして`idle-timeout`を渡すことで、アイドルタイムアウトを変更できます。これは、接続を閉じる前にSauceがコマンド間で待機する時間を制御します。

BrowserStack

WebdriverIOには、Browserstack統合も組み込まれています。

唯一の要件は、設定(`wdio.conf.js`でエクスポートされるか、`webdriverio.remote(...)`に渡される)で`user`と`key`をBrowserstackの自動化ユーザー名とアクセスキーに設定することです。

任意のブラウザの機能にキーと値のペアとして、オプションのサポートされている機能を渡すこともできます。 `browserstack.debug`を`true`に設定すると、セッションのスクリーンキャストが記録され、役立つ場合があります。

ローカルテスト

インターネットからアクセスできないサーバー(`localhost`など)に対してテストを実行する場合は、ローカルテストを使用する必要があります。

これはWebdriverIOのサポート範囲外であるため、自分で起動する必要があります。

ローカルを使用する場合は、機能で`browserstack.local`を`true`に設定する必要があります。

WDIOテストランナーを使用している場合は、`@wdio/browserstack-service`をダウンロードして`wdio.conf.js`で設定してください。これはBrowserStackの実行に役立ち、テストをBrowserStackサービスに適切に統合するための追加機能を提供します。

Travis CIを使用する場合

Travisでローカルテストを追加する場合は、自分で起動する必要があります。

次のスクリプトは、バックグラウンドでダウンロードして起動します。テストを開始する前に、Travisでこれを実行する必要があります。

wget https://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
unzip BrowserStackLocal-linux-x64.zip
./BrowserStackLocal -v -onlyAutomate -forcelocal $BROWSERSTACK_ACCESS_KEY &
sleep 3

また、`build`をTravisビルド番号に設定することもできます。

`capabilities`の例

browserName: 'chrome',
project: 'myApp',
version: '44.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'browserstack.local': 'true',
'browserstack.debug': 'true'

TestingBot

唯一の要件は、設定(`wdio.conf.js`でエクスポートされるか、`webdriverio.remote(...)`に渡される)で`user`と`key`をTestingBotのユーザー名とシークレットキーに設定することです。

任意のブラウザの機能にキーと値のペアとして、オプションのサポートされている機能を渡すこともできます。

ローカルテスト

インターネットからアクセスできないサーバー(`localhost`など)に対してテストを実行する場合は、ローカルテストを使用する必要があります。TestingBotは、インターネットからアクセスできないWebサイトをテストできるようにするJavaベースのトンネルを提供しています。

TestingBotのトンネルサポートページには、これを起動して実行するために必要な情報が含まれています。

WDIOテストランナーを使用している場合は、`@wdio/testingbot-service`をダウンロードして`wdio.conf.js`で設定してください。これはTestingBotの実行に役立ち、テストをTestingBotサービスに適切に統合するための追加機能を提供します。

LambdaTest

LambdaTest統合も組み込まれています。

唯一の要件は、設定(`wdio.conf.js`でエクスポートされるか、`webdriverio.remote(...)`に渡される)で`user`と`key`をLambdaTestアカウントのユーザー名とアクセスキーに設定することです。

任意のブラウザの機能にキーと値のペアとして、オプションのサポートされている機能を渡すこともできます。 `visual`を`true`に設定すると、セッションのスクリーンキャストが記録され、役立つ場合があります。

ローカルテスト用トンネル

インターネットからアクセスできないサーバー(`localhost`など)に対してテストを実行する場合は、ローカルテストを使用する必要があります。

これはWebdriverIOのサポート範囲外であるため、自分で起動する必要があります。

ローカルを使用する場合は、機能で`tunnel`を`true`に設定する必要があります。

WDIO テストランナーを使用している場合は、wdio-lambdatest-service をダウンロードし、wdio.conf.js で設定してください。これは LambdaTest の実行を支援し、テストを LambdaTest サービスに適切に統合するための追加機能を提供します。

Travis CI を使用する

Travisでローカルテストを追加する場合は、自分で起動する必要があります。

次のスクリプトは、バックグラウンドでダウンロードして起動します。テストを開始する前に、Travisでこれを実行する必要があります。

wget http://downloads.lambdatest.com/tunnel/linux/64bit/LT_Linux.zip
unzip LT_Linux.zip
./LT -user $LT_USERNAME -key $LT_ACCESS_KEY -cui &
sleep 3

また、`build`をTravisビルド番号に設定することもできます。

`capabilities`の例

platform: 'Windows 10',
browserName: 'chrome',
version: '79.0',
build: `myApp #${process.env.TRAVIS_BUILD_NUMBER}.${process.env.TRAVIS_JOB_NUMBER}`,
'tunnel': 'true',
'visual': 'true'

Perfecto

wdio を Perfecto と共に使用する場合、各ユーザーのセキュリティトークンを作成し、(他の機能に加えて)次のように機能構造に追加する必要があります。

export const config = {
capabilities: [{
// ...
securityToken: "your security token"
}],

さらに、次のようにクラウド設定を追加する必要があります。

  hostname: "your_cloud_name.perfectomobile.com",
path: "/nexperience/perfectomobile/wd/hub",
port: 443,
protocol: "https",

ようこそ!何かお困りですか?

WebdriverIO AI Copilot