問題タブ [webdriver]
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.
javascript - カピバラと Javascript onbefoureunload
保存していないものを残す前にユーザーに警告する onbeforeunload 関数を備えた「ask_a_question」ページがあります (SO :P のように!)。キュウリとカピバラと webdriver を使用してテストしています。JavaScript を多く使用するため、@javascript タグを追加します。キュウリの機能は次のようになります。
しかし、テストがパスすると、Capybara (または WebDriver、私にはわかりません) が同じブラウザー ウィンドウを他のテストに再利用しようとすると、onbeforeunload アラートが表示され、次のテストが台無しになります。
私の機能は、ページ自体を閉じたり終了したりしていないためです。アラートを受け入れるために何かを追加するのは良い考えではないと思います。しかし、正直なところ、私はかなり迷っています。
@javascript テストごとに新しいブラウザ ウィンドウを使用するか、onbeforeunload アラートを自動的に閉じるようにカピバラに指示するにはどうすればよいですか?
ありがとう
.net - Selenium 2 + WebDriver + .NET: select が「display:none;」の場合、select のオプションのテキストを取得できません。
ページでこれを選択しています:
そして、私はこのテストを実行しています:
options
コレクション内のすべての要素が Text オブジェクトとして空の文字列を持っているため、2 番目のアサートは失敗しています。display:none;
スタイルを追加するページで JavaScript を削除すると機能します。ただし、この選択はFCBKcompleteによって拡張されているため、非表示にする必要があるため、これは永続的な解決策ではありません。
.NET で Selenium 2/WebDriver を使用して非表示の選択オプションのテキストを取得するにはどうすればよいですか?
selenium - ターゲットがIFrameにあるときにChromeWebDriverとInternetExplorerWebDriverからJavaScriptを呼び出す方法
私はSelenium2b1を使用していて、Firefox(MacOSとWindowsの両方)を駆動して良い結果を得ています。IEとChromeに対して同じテストを実行したいと思います。ChromeDriverのいくつかの回避策を追加した後、スクリプトが'return "Hello!"'であっても、driver.switchTo()。frame(canvasName)の後にChromeDriverとInternetExplorerDriverの両方がexecuteScript()で失敗することがわかりました。ChromeDriverは「ページ上になかったため、javascriptを実行できませんでした」と報告しますが、InternetExplorerDriverは「JavaScriptエラー」を報告します。
Groovyのコードは次のとおりです。
変数seleniumには、RemoteWebDriverのインスタンスがあります。waitForメソッドは、WebDriverWaitのインスタンスを作成し、クロージャーパラメーターをuntilパラメーターとして参照するラッパーインスタンスを渡します。IDが「Game」の要素は、上記のコードの最初のステートメントで選択されたIFrameにのみ存在することに注意してください。
誰かがこれを経験したことを願っています!
watir - gmail へのログインに問題があるリモート HTMLUnit で Webdriver を使用したテスト
何らかの理由で、gmail などのサイトにログインした後、htmlunit が機能しません。html 要素を見つけることができません。
以下は、問題を示す非常に単純な ruby スクリプトです。webdriver サーバーが、それを実行しているのと同じマシンで実行されていることを前提としていることに注意してください。
Firefox または IE を使用してブラウザ オブジェクトを作成すると、この簡単なテストが機能することに注意してください。
ログインプロセス中に発生するリダイレクトでハングアップしているようです。私が実際にテストしようとしているサイトは、非常によく似たパターンに従っているため、同じ問題を示すように思われる gmail を使用してこの単純化された例をセットアップしました。
これを合格テストに変えるのを手伝ってくれる人はいますか? HTMLUnitにも基づいているCelerityを使用して同様のテストを機能させることができることに注意してください。これを機能させる方法があると思いますか?
これは webdriver サーバーに表示されるエラーで、属性が見つからないことを明確に示しています。
selenium - Webdriver / SeleniumはどのようにローカルWebブラウザと「通信」しますか?
たとえば、FirefoxDriverの場合、Firefoxインスタンスにクリックとコマンドをどのように送信しますか?
.net - .NET 用の HtmlUnitDriver はありますか?
Selenium の WebDriverを使用して、独学のために取り組んでいる ASP.NET MVC アプリのSpecFlowテストを実行しています。
FirefoxDriver
、などを使用するとChromeDriver
、すべて実行に時間がかかります。実際、それらを使用するのはかなりイライラします (私の意見では)。
HtmlUnitDriver
ブラウザーベースのドライバーよりもはるかに高速であると思われるについて読んだことがあります。しかし、.NET クライアント ライブラリ (Java のみ) でバージョンが見つからないようです。.NET バージョンはありますか?
ruby - watir-WebDriver の使用中にリンクの兄弟を見つける
私は watir-WebDriver を使用して、Web サイトのテスト自動化を自動化しています。兄弟リンクにアクセスする必要があります。
このように見えます
何か > 何か 2 > 現在のページのタイトル (link1) (link2) (text1)
text1 のクラス ID を取得しました。link2 をクリックして、Something 2 に戻る必要があります。
どうすればこれを取得できますか。
ruby - Selenium Webdriver - クリック後にページ読み込みの待機をスキップして続行するにはどうすればよいですか
ボタンをクリックする webdriver を使用した rspec テストがあります... ボタンをクリックした後、ページが完全にロードされません (これは予想される正しい動作です)。ボタンをクリックした後、ページが読み込まれていないにもかかわらず、2 秒待ってから別の URL に移動したいと考えています。ページがロードされていないためにエラーをスローしたくありません。それを無視して、すべてが正常であるかのように続行したいのです。ページがロードされることはありません。これは、予期された正しい動作です。
タイムアウトまで待たないようにするにはどうすればよいですか。次に、テストが失敗する原因となるエラーをスローしないようにするにはどうすればよいですか。
ありがとうございました!
webdriver - WebDriver HtmlUnitDriver NoSuchElementException
Webdriver を使用して Web アプリケーションをテストしています。FireFoxDriver または ChromeDriver を使用すると、すべて問題ないように見えます。HtmlUnitDriver を使用すると、問題が発生し始めます。
サンプルコードは次のとおりです。
driver.getPageSource の結果を確認しましたが、そこに示されているソース コードは非常に部分的です。
すべての要素が表示されるわけではありません。ページ上のクリック ビュー ソースと同じです。ドライバーから必要なのは、firebug や chrome inspector のようなソース全体です。
どのように取得できるかについてのアイデアはありますか?
私のアプリはGWTで書かれました。
どうもありがとう
ruby-on-rails - Webdriver の遅延の問題
Webdriver で遅延の問題が発生している人はいますか? カピバラを使ってCucumberで実行しています。また、フォームに入力するのに 30 秒または数分以上かかります。何らかの理由で、1 つのフィールドに入力してから、別のフィールドに入力する前に一時停止します。両方が id によって参照されている場合です。
また、この待ち時間が原因でタイムアウト エラーが発生しています。(しかし、それらは不安定です...)
畑は特に何もありません。それらはページの読み込み時に表示され、このページには Ajax はありません。
誰にもアイデアはありますか?
エラーは次のとおりです。
編集:これは、Cucumber テストを実行したときに Firefox インスタンスが既に開いていたという事実に関連している可能性があります。タイムアウトの頻度は減りましたが、まだ十分な頻度でタイムアウトが発生するので、まだ問題があると思います。
Edit2:機能ファイルはステップを指定します:
And I complete personal info
ステップは、他のステップとしてさらに定義されます。
カピバラはfirst_id
時々見つけて、私のシナリオの残りの部分は正常に実行されます. それ以外の場合は、タイムアウトします。私の意見では、それは非常に予測不可能です。また、見つかっfirst_id
ても見つからない場合もありますsecond_id
。ちなみに、これらid
の s は実際にページに存在します。
エラーに関する詳細情報を含める必要がありました。多くの場合、次のようになります。
Then we verify stuff we just filled out
は、次の追加手順で定義されます。
この追加情報がお役に立てば幸いです。他に何か必要な場合は、コメントでお知らせください。