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

LambdaTest サービス

wdio-lambdatest-service は、サードパーティのパッケージです。詳細については GitHub | npm をご覧ください。

WDIO health check

LambdaTest ユーザー向けにトンネルとジョブメタデータを管理する WebdriverIO サービスです。

インストール

npm i wdio-lambdatest-service --save-dev

WebdriverIO のインストール方法はこちらをご覧ください。

設定

WebdriverIO には標準で LambdaTest のサポートが組み込まれています。wdio.conf.js ファイルに userkey を設定するだけです。アプリ自動化機能を有効にするには、wdio.conf.js ファイルに product: 'appAutomation' を設定します。このサービスプラグインは LambdaTest トンネル をサポートしています。この機能を有効にするには tunnel: true も設定してください。

// 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
}]
],
// ...
};

自動化ダッシュボードにテストエラーの説明を表示するには

自動化ダッシュボードにテストエラーの説明を表示するには、wdio.conf.jsltErrorRemark: true を追加するだけです。

ローカルまたはURLからアプリをアップロードするには

必要な設定を wdio.conf.js に追加することで、ローカルまたはホストされたアプリのURLから android または ios アプリをアップロードできます。同じ実行でテスト用にアップロードしたアプリを使用するには、enableCapability = true を設定します。これにより、capabilities にアプリのURL値が設定されます。

// wdio.conf.js
services: [
[
"lambdatest",
{
tunnel: true,
app_upload: true,
app:{
app_name : "xyz", //希望するアプリ名を指定
app_path : "/path/to/your/app/file", //ローカルアプリの場所を指定
// または
app_url : "https://example.test_android.apk", //アプリがホストまたは保存されているURLを指定
custom_id : "12345", //希望するカスタムIDを指定
enableCapability : true
}
}
]
]

オプション

LambdaTest サービスの認証を行うには、設定に userkey オプションが含まれている必要があります。

tunnel

LambdaTest クラウドからの接続をコンピュータ経由でルーティングするには、これを true に設定します。また、ブラウザの capabilities で tunnel を true に設定する必要があります。

型: Boolean
デフォルト: false

lambdatestOpts

指定されたオプションは LambdaTest トンネルに渡されます。

型: Object
デフォルト: {}

以下は、利用可能なすべてのオプションの包括的なリストです:

tunnelName

使用するカスタム LambdaTest トンネル名を指定します。

例:

{"tunnelName": "my_custom_tunnel"}

port

LambdaTest トンネルをアクティブにするポート。

例:

{"port": 33000}

user

LambdaTest ユーザー名。

例:

{"user": "your_username"}

key

LambdaTest アクセスキー。

例:

{"key": "your_access_key"}

verbose

すべてのプロキシリクエストを標準出力にログ出力するかどうか。

例:

{"verbose": true}

logFile

LambdaTest トンネルログファイルの場所。

例:

{"logFile": "/path/to/log/file"}

config

使用する設定ファイルのパス。 例:

{"config": "/path/to/config/file"}

dir

トンネルポートでファイルサーバーによって提供されるローカルディレクトリを指定します。

例:

{"dir": "/path/to/local/directory"}

proxyHost

トンネルプロキシポートのホスト名を指定します。

例:

{"proxyHost": "proxy.example.com"}

proxyUser

トンネルプロキシポートのユーザー名を指定します。

例:

{"proxyUser": "your_proxy_username"}

proxyPass

トンネルプロキシポートのパスワードを指定します。

例:

{"proxyPass": "your_proxy_password"}

proxyPort

トンネルプロキシがアクティブになるポート番号を指定します。

例:

{"proxyPort": 8080}

egressOnly

送信リクエストにのみプロキシ設定を使用します。

例:

{"egressOnly": true}

ingressOnly

指定されたプロキシ経由で着信トラフィックのみをルーティングします。

例:

{"ingressOnly": true}

pacfile

ローカルテストで PAC(プロキシ自動設定)を使用するには、 PAC ファイルのパスを提供します。

例:

{"pacfile": "/path/to/pacfile"}

loadBalanced

LambdaTest トンネル用のロードバランシングを有効にします。

例:

{"loadBalanced": true}

mode

トンネルが実行するモード「ssh」または「ws」を指定します(デフォルトは「ssh」)。

例:

{"mode": "ssh"}

sshConnType

ssh 接続のタイプを指定します(over_22、over_443、over_ws)。--sshConnType を使用するには、最初に ––mode ssh フラグを指定してください。

例:

{"sshConnType": "over_22"}

maxSSHConnections

トンネルクライアントからトンネルサーバーへの SSH 接続を増やします。最大許容値は 30 です。

例:

{"maxSSHConnections": 2}

sharedTunnel

チームメンバー間でトンネルを共有します。

例:

{"sharedTunnel": true}

env

LambdaTest トンネルが実行される環境。

例:

{"env": "production"}

infoAPIPort

指定したポートでトンネル情報 APIを公開します。

例:

{"infoAPIPort": 8080}

callbackURL

トンネルステータスのコールバック URL。

例:

{"callbackURL": "https://example.com/callback"}

allowHosts

トンネル経由でルーティングするホストのカンマ区切りリスト。それ以外はインターネット経由でルーティングされます。

例:

{"allowHosts": "example.com,anotherexample.com"}

bypassHosts

トンネルから除外するホストのカンマ区切りリスト。これらはインターネット経由でルーティングされます。

例:

{"bypassHosts": "example.com,anotherexample.com"}

clientCert

mTLS クライアント証明書のファイルパス。

例:

{"clientCert": "/path/to/client_certificate"}

clientKey

mTLS クライアントキーのファイルパス。

例:

{"clientKey": "/path/to/client_key"}

mTLSHosts

mTLS ホストのカンマ区切りリスト。

例:

{"mTLSHosts": "example.com,anotherexample.com"}

dns

DNS サーバーのカンマ区切りリスト。

例:

{"dns": "8.8.8.8,8.8.4.4"}

mitm

LambdaTest トンネルの MITM(中間者) モードを有効にします。

例:

{"mitm": true}

ntlm

通信またはトランスポートの目的で Microsoft NTLM(Windows NT LAN Manager)認証を使用します。

例:

{"ntlm": true}

pidfile

プロセス ID が書き込まれる pidfile のパス。

例:

{"pidfile": "/path/to/pidfile"}

usePrivateIp

リモートアドレスをクライアントマシンの内部 IP に設定します。

例:

{"usePrivateIp": true}

これらのオプションの詳細についてはこちらをご覧ください。

preferScenarioName

Cucumber のみ。単一のシナリオが実行された場合、セッション名をシナリオ名に設定します。 wdio-cucumber-parallel-execution で並列実行する場合に便利です。

型: Boolean
デフォルト: false

sessionNameFormat

セッション名のフォーマットをカスタマイズします。

型: Function
デフォルト (Cucumber/Jasmine): (config, capabilities, suiteTitle) => suiteTitle
デフォルト (Mocha): (config, capabilities, suiteTitle, testTitle) => suiteTitle + ' - ' + testTitle

sessionNameOmitTestTitle

Mocha のみ。セッション名にテストタイトルを追加しません。

型: Boolean
デフォルト: false

sessionNamePrependTopLevelSuiteTitle

Mocha のみ。セッション名の前にトップレベルスイートタイトルを追加します。

型: Boolean
デフォルト: false

setSessionName

セッション名を自動的に設定します。

型: Boolean
デフォルト: true

setSessionStatus

セッションステータス(合格/不合格)を自動的に設定します。

型: Boolean
デフォルト: true

ignoreTestCountInName

名前のテスト再試行回数を無視します

型: Boolean
デフォルト: false

useScenarioName

Cucumber 固有のテストのテスト名をシナリオ名として取得するには、wdio.conf.jsuseScenarioName: true を追加するだけです。

コンパイルおよび公開する手順

  1. このリポジトリを git clone します。
  2. "npm install" を実行します
  3. "npm run build" を実行します
  4. 公開手順: "npm login" を実行します
  5. "npm publish --access public" を実行します

WebdriverIO の詳細については、ホームページをご覧ください。

Welcome! How can I help?

WebdriverIO AI Copilot