私が使用したフレームワークを作成しましたSet Browser Implicit Wait 30
合計700個のテストケースを含む50個のスイートがあります。いくつかのテストケース(200 TC)には、要素が存在し、要素が存在しないかどうかを判断するステップがあります。私の目的は、要素存在または要素が存在しないかどうかを確認するのに30秒間待つことを望んでいないことです。私はWait Until Element Is Visible ${locator} timeout=10
を使ってみましたが、要素のためにわずか10秒待つことを期待しましたが、30秒間待っていました。 質問:私のフレームワークでこのようなシナリオに対処するための正しいアプローチをお手伝いできますか? 30秒待つことに同意すると、そのようなテストケースを完了するのにかかる時間が長くなります。私は現在20 * 200秒を節約しようとしています。ロボットフレームワーク:ロボットフレームワークでタイムアウトを設定する
答えて
最も簡単な解決策は、要素が存在しないことを確認する前に暗黙の待機を変更し、その後にそれを元に戻すことです。これはキーワードset selenium implicit waitで行うことができます。
たとえば、キーワードは次のようになります。
*** Keywords ***
verify element is not on page
[Arguments] ${locator}
${old_wait}= Set selenium implicit wait 10
run keyword and continue on failure
... page should not contain element ${locator}
set selenium implicit wait ${old_wait}
"暗黙の待機対明示的な待機"という問題を扱っている問題があります。インターネットを検索すると、なぜミキシングが推奨されないのかよくわかるはずですが、私はJim Evans(IE Webdriverの作成者)がこれをうまく説明したと思います。stackoverflow answer
テストの実行が典型的には、1つまたはこれらの両方を利用して行われているのパフォーマンスの向上:
- 並行して、個々の試験
- ランテストの期間を短縮します。試験の期間を短縮
は、典型的には、アプリケーションが正常にそれが起こる瞬間をロードしたときにを知るスクリプトが得られるテスト対象アプリケーションの完全な制御にあることを意味します。これは、暗黙の待機をせず、Fluent待機(条件が発生するのを待つ)で排他的に動作することを意味します。これにより、アプリケーションで許容される速度でテストが実行されます。
これは、技術レベルでテストするアプリケーションを理解する時間を費やすことを意味する場合があります。 custom locatorを使用すると、通常のSeleniumLibraryキーワードをすべて使用して、集中待機機能を使用できます。
テストを並行して実行することは、スタンドアロンで実行され、他のテストに依存しないテストを開始することから始まります。 Robot Frameworkでは、Test Suiteファイルを互いに独立して実行できることを意味します。私たちのほとんどはPabotを使用して、スイートを並行して実行し、後でログファイルをマージします。
複数のブラウザアプリケーションテストを並行して実行するということは、同時に複数のブラウザを実行することを意味します。 Chromeでテストする場合、これは1つのホストで行うことができますが、必ずしもそうとは限りません。 IEを実行すると、複数のボックス/セッションが必要になります。次に、実行負荷を複数のマシンに分散するには、Selenium Gridタイプのソリューションが必要になります。
- 1. ウィンドウポップアップとロボットフレームワーク
- 2. ロボットフレームワークRESTインタフェース
- 3. ロボットフレームワークのクロムオプション
- 4. ロボットフレームワークのXMLライブラリ
- 5. ロボットフレームワーク-IEブラウザsupporrt
- 6. ロボットフレームワークのリストコンテナ(Python)
- 7. ロボットフレームワーク+ Appium + Perfecto
- 8. ロボットフレームワーク:ページのロード
- 9. ロボットフレームワーク - リソースファイルを使用する
- 10. ロボットフレームワークでPythonスクリプトを使用
- 11. ロボットフレームワークのwxPythonのWindows
- 12. ロボットフレームワークでonblurイベントをシミュレートする方法
- 13. ロボットフレームワークでANDとstdoutを使用する
- 14. Pythonでロボットフレームワークを使用する
- 15. ロボットフレームワークでoutput.xmlを分割する方法
- 16. ロボットフレームワークでJSONファイルを編集する
- 17. ロボットフレームワークでのIE 11のパフォーマンス
- 18. ロボットフレームワーク:「ライブラリ」PyCharmとロボットで
- 19. ロボットフレームワークを使用してFirefoxで自動ダウンロードのExcelを設定する方法
- 20. ロボットフレームワーク:telnet executeコマンド "プロンプトが設定されていません"
- 21. Circle CIがロボットフレームワークで失敗する
- 22. ロボットフレームワークのドラッグアンドドロップキーワードでWebブラウザがハングアップする
- 23. RIDE(ロボットフレームワーク)にクロムウェブドライバを追加
- 24. ロボットフレームワークでセッションを閉じる方法は?
- 25. ドロップダウンからロボットフレームワークを選択する
- 26. 複数のミックスインを継承するロボットフレームワーク
- 27. ロボットフレームワーク - マウスポインタからテキストを検証する
- 28. ロボットフレームワークtestsuiteを2回実行する
- 29. ロボットフレームワークのカスタムライブラリセレンの問題
- 30. ロボットフレームワークのpythonキーワードライブラリのデバッグ