Appium使用時のアイドルタイムアウトの設定

このドキュメントの目的

このヘルプガイドは、idleTimeoutのユースケースに対処する手順を支援します。

なぜ使われるのですか?

  • 特定の時間間隔内にリクエストが来ない場合は、タイムアウト機能を使用してAppiumセッションを終了します。

  • スクリプトでは待機ステートメントを使用することをお勧めします。ただし、ハードコアな待機は避けることをお勧めします。

  • また、コードでハードコアウェイトを使用する必要がある場合は、スリープ値が常にIdelTimeout未満であることを確認してください。そうでない場合、サーバーへのその期間のリクエストは送信されないため、セッションは終了します。

デフォルトのidleTimeoutについて

デフォルトのタイムアウト値が60秒に設定されているため、テストセッションが60秒を超えてアイドル状態になっている場合、pCloudyはidleTimeoutを送信します。これを変更するには、idleTimeoutケイパビリティに20〜600秒のタイムアウト値を設定します。

appiumテストセッション中にアイドルタイムアウトエラーを処理する手順は次のとおりです

手順1: テストスクリプトの最後でdriver.quit Appiumコマンドを呼び出して、デフォルトの60秒後にデバイスを解放します。driver.quitを使用していない場合、デバイスは、idleTimeoutケイパビリティの設定時間に従って解放されます。

手順2: 次の表のスクリプトコマンドを参照して、テストスクリプトのそれぞれの言語で driver.quit コマンドを呼び出します。

言語

スクリプト

Java

driver.quit();

Node.js

driver.quit();

C#

driver.Qui();

PHP

$driver->quit();

Python

driver.quit()

Ruby

driver.quit

Perl

$driver->quit();

いつidleTimoutケイパビリティを使用するか

  1. ユーザーが ハードコード待機 値を60秒以上指定した場合。次のケイパビリティを追加する必要があります。

  2. abilities.setCapability( "idleTimeout"、70-600秒);

  3. ユーザーが ハードコード待機 値を60秒未満に指定した場合。 idleTimeoutケイパビリティの 使用は 必須ではありません。

  4. ユーザーが 明示的に待機した場合。 60秒以上かかります。 idleTimeoutケイパビリティを追加する必要があります。以下の例に示すように。

  5. abilities.setCapability( "idleTimeout"、70-600秒);

アイドルタイムアウトの利点

何らかの理由で、テストの実行がそれ自体の前に停止した場合、デバイスはその予約時間の直後に解放されます。ただし、スクリプトでIdleTimeoutを使用すると、idleTimeoutで提供された時間の後にデバイスが解放されます。

ノート

  1. 誰かがハードコードされた待機を10分以上使用している場合は、最大600秒のデバイスが600秒後に解放されるため、IdleTimeoutを提供します。

  2. ハードコード待機を使用していて、スリープ時間が60秒を超える場合は、idleTimeoutケイパビリティを使用する必要があり、そのケイパビリティの値はスリープ時間よりも大きくする必要があります。

  3. newCommandTimeoutケイパビリティの値は、常にidleTimeout値以上である必要があります。