問題タブ [webdriver-io]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
6773 参照

javascript - WebDriverIO Selenium は config.js ファイルから Chrome にコマンドライン引数を渡します

UI テスト用に disable-web-security フラグを指定して実行するには、chrome が必要です。wdio.config ファイル ( http://webdriver.io/ ) を使用してコマンドを挿入するにはどうすればよいですか。

0 投票する
2 に答える
1208 参照

javascript - webdriver.io の非同期の問題 - 要素をクリックしてからテキストを入力する

自動テスト スクリプトで「選択された選択」を説明しようとしています。私は webdriver.io を使用しており、次の API 情報を参照しています: http://webdriver.io/api.html

「選択された」世界では、ユーザーが選択をクリックするのと同じ「a.chosen-single」をクリックする必要があります。これにより、ユーザーはテキスト入力に集中し (これにより、ユーザーは選択オプションをフィルター処理できるため、選択した理由がクールになります)、ユーザーがテキストを入力する様子をシミュレートする必要があります。

問題は、私が書いたスクリプトの結果、選択されたすべての選択がクリックされ、その後キーが入力されることです。これは、テキストが最終的な選択選択入力にのみ入力されることを意味します。

要素がクリックされた後、pause() を挿入しました。クリックごとに一時停止が発生することを期待しますが、代わりに、最後の要素がクリックされたときに一時停止が最後に発生し、すべての要素のキーが最後にまとめて入力されるため、最後の要素の値は 'FIL12 になります。 '

ターミナルで取得した読み取りは次のとおりです。

キーストロークが入力されるまで、次のタスクがキューに入れられないようにする方法がわかりません。助けてください。

0 投票する
0 に答える
1201 参照

javascript - webdriver.io は、ページのリロード後にスクリプトを続行します

webdriver.io で自動化されたスクリプトを作成して、Web ページの入力/選択を入力し、スクリーンショットを撮ります。自動化スクリプトの実行中に、ユーザー アクション (select の値の変更など) によってページが読み込まれた場合はどうなりますか? スクリプトで中断したところから再開する方法はありますか (いくつかの入力がその時点で既に入力されていて、セッション データを介して値を保持しているが、残りの入力を続けたいとします)。

そのページがリロードされると、スクリプトの実行が停止することがわかります。

中断したところから再開する方法がない場合、ページの読み込みを検出してスクリプトを再実行することで、スクリプトを最初からトリガーするにはどうすればよいでしょうか?

コメントへの対応: コードを貼り付ける必要はないと思います (ただし貼り付けます)。問題は、スクリプトの実行中にページの読み込みが発生したときに webdriver.io を介してページの読み込みを検出する方法であり、そうではないからです。スクリプト自体によって開始されます。

更新!!: 私は waitForExist() を使用してこれを解決し、対話する前に各入力/選択が存在するのを待つだけでした。理想的ではありませんが、機能します。誰かがより良い解決策を持っている場合は、私に知らせてください!

コードは次のとおりです。

0 投票する
1 に答える
3384 参照

selenium - Selenium Chrome ドライバーが getElementRegion の値を解析できませんでした

クロム ドライバーでセレン テストを実行すると、クロム ドライバーから次のエラーが発生します。テストは firefox で問題なく動作します。

不明なエラー: getElementRegion の値を解析できませんでした

コードは次のとおりです。送信ボタンをクリックしようとすると失敗します。selenium-standalone を使用してサーバーを実行し、chromedriverselenium-standalone start --drivers.chrome.version=2.8と webdriverIOを指定しています

0 投票する
0 に答える
386 参照

node.js - webdriver.ioとseleniumを使用してモカテストでページフローを最適に構築するには?

mochajs、webdriver.io、およびセレンサーバーを使用して e コマースアプリケーションをテストしたいと考えています。例としてチェックアウトを取り、複数のバリエーションのテストを自動化したいとしましょう。最も簡単なアプローチは、次のようなことをすることです

ここでの欠点は、何か問題が発生した場合、注文を行うために多くの手順を踏まなければならないため、比較的複雑になる可能性がある失敗したケースしか確認できないことです。したがって、私は次のようなことを考えていました

itしたがって、基本的に、テストをページに分割することを誤用しているため、何かが壊れている場所を確認できます。ただし、このような 10 個のテストを想像すると、多くの冗長性を持つ多くの「テスト」になります。

私の質問は、これに対処する方法に関するベスト プラクティスや運用経験があるかどうかです (私がやろうとしていることはかなり基本的なことだと思います)。

どんなフィードバックでも大歓迎です。

0 投票する
1 に答える
5937 参照

selenium-webdriver - WebdriverIO - Jasmine テストに引数を送信する方法は?

Webdriver.io /Selenium テストがたくさんあり、ジャスミン テスト フレームワークを使用してテストを記述しているため、これらの指示に従って、ジャスミンを使用するように構成した wdio.conf.js ファイルがあります。

問題は、非常に動的/構成可能な広告/マーケティング ベースの Web アプリをテストしていて、テスト対象をテストするために大量の構成情報を渡す必要があることです。たとえば、コマンドラインで次のようなものを実行したいと思います:

wdio.conf.js ファイルの「onPrepare」関数/イベントを変更して、次のようにこれらのパラメーターを取得できます。

...しかし、これらをジャスミン テストに渡す方法がわかりません。process.argv から読み取ろうとしましたが、campaignId および productId 引数がありません。

カスタム パラメータ/引数をジャスミン テストに渡すにはどうすればよいですか? それらを onPrepare のファイルに書き込んでから、ジャスミン テストでそのファイルを読み取ることができますが、これは少しハックに思えます。