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ケイパビリティを使用するか
-
ユーザーが ハードコード待機 値を60秒以上指定した場合。次のケイパビリティを追加する必要があります。
-
abilities.setCapability( "idleTimeout"、70-600秒);
-
ユーザーが ハードコード待機 値を60秒未満に指定した場合。 idleTimeoutケイパビリティの 使用は 必須ではありません。
-
ユーザーが 明示的に待機した場合。 60秒以上かかります。 idleTimeoutケイパビリティを追加する必要があります。以下の例に示すように。
-
abilities.setCapability( "idleTimeout"、70-600秒);
アイドルタイムアウトの利点
何らかの理由で、テストの実行がそれ自体の前に停止した場合、デバイスはその予約時間の直後に解放されます。ただし、スクリプトでIdleTimeoutを使用すると、idleTimeoutで提供された時間の後にデバイスが解放されます。
ノート
-
誰かがハードコードされた待機を10分以上使用している場合は、最大600秒のデバイスが600秒後に解放されるため、IdleTimeoutを提供します。
-
ハードコード待機を使用していて、スリープ時間が60秒を超える場合は、idleTimeoutケイパビリティを使用する必要があり、そのケイパビリティの値はスリープ時間よりも大きくする必要があります。
-
newCommandTimeoutケイパビリティの値は、常にidleTimeout値以上である必要があります。