問題タブ [poltergeist]

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 投票する
1 に答える
911 参照

ruby-on-rails - Capybara/Poltergeist 使用時、pry でアプリケーションスレッドにアクセスする方法

rails と emberjs アプリケーションでテストを実行しており、テストで :js => true を設定しています。仕様に binding.pry をドロップすると、REPL が正常に開きますが、アプリに binding.pry をドロップすると、コンソールに REPL が表示されますが、仕様は続行します。これは、ドライバーとしてポルターガイストを使用して、カピバラが 1 つのスレッドで仕様を実行し、別のスレッドでアプリケーションを実行するために発生すると私は信じています。アプリケーション コードで binding.pry を使用して REPL を開き、アプリと仕様の両方を一時停止できるように設定する方法はありますか?

以下は、問題なく動作する binding.pry ステートメントと取り残されるステートメントの例です。

作品:

employee_signs_in_spec.rb

取り残される:

sessions_controller.rb

0 投票する
3 に答える
2293 参照

ruby - Poltergeist を使用しているときに要素の HTML を取得するにはどうすればよいですか?

Poltergeist ドライバーで Capybara を使用しています。私の質問は: ノードの HTML (文字列) を取得する方法は?

RackTest ドライバーを使用すると、次のように取得できることを読みました。

#nativeただし、ノードで Poltergeist を呼び出すとCapybara::Poltergeist::Node、ネイティブの Nokogiri 要素ではなく、 が返されます。そして、 を#nativeもう一度呼び出すとCapybara::Poltergeist::Node、同じCapybara::Poltergeist::Nodeことが返されます (つまり、 が返されますself)。

探しているものを見つけるために、ページ全体から HTML を見なければならないのは少しイライラするようになりました:P

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

javascript - Chrome で機能する正規表現が Poltergeist/PhantomJS で機能しないのはなぜですか?

リンクを解析するための JavaScript に問題があります (必要に応じてビデオ プレーヤーを埋め込むため)。Chrome で手動でテストするときは問題なく動作しますが、別のブラウザーで自動テスト スイートを実行するとうまくいきません。

元の ( urlVimeo0) は Chrome で動作しますが、これをポルターガイストを使用したテスト スイートの一部として実行すると、数字と一致するビットの後に何かがあると何も動作しません。どちらも Webkit ベースなので、ドル/スラッシュが原因で失敗する理由がわかりません。

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

ruby-on-rails - Cucumber を使用してドラッグ アンド ドロップ ファイルのアップロードをテストするにはどうすればよいですか?

ドラッグ アンド ドロップのファイルと画像のアップロードを受け入れる HTML エディターがあります。これがCucumberであることをテストする必要があります(CapybaraとPoltergeistを使用)が、その方法については何も見つかりません。Capybara はドラッグ アンド ドロップをサポートしていることがわかりましたが、既存のページ要素を見つけてドラッグすることしか言及されていません。まだ存在しないブラウザにファイルを送信する必要があります。

エディターには contenteditable div があり、ファイルを取得して JS 経由で S3 に送信します。

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

ruby-on-rails - カピバラのポルターガイストのクリックが効かない

カピバラポルターガイストでリンクhrefをクリックする方法がわかりません。テストでこのようなサンプルコードがあります

私のhtmlには、このようなサンプルがあります

カピバラのポルターガイストでリンクをクリックする方法は? 私はすでに「click_link」、「click_button」などを試していますが、まだ機能していません

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

poltergeist - Poltergeist を使用すると、rspec の実行ごとに Phantom JS インスタンスが終了しません。

rspec によって実行されるすべてのポルターガイスト テストで、次を使用して新しいセッションを作成すると:

Capybara.session_name="some_session_name"

ファントム js インスタンスがサブプロセスとして開始され、テストが終了するまで終了しないため、ビルド サーバーで OOM が発生します。

Poltergeist の readme で説明されているように、これは driver.quit の呼び出しに失敗したためだと思います。

いくつかのカピバラセッションを手動で実行する場合は、セッションが不要になったときに session.driver.quit を呼び出したことを確認してください。これを忘れると、メモリ リークが発生し、システムのリソースが予想よりも早く使い果たされる可能性があります。

ただし、テストpage.driver.quitのブロックを呼び出します。after

以下は私のアフターブロックコードです。 $adhoc_sessionsは、 を設定するたびに入力するグローバル変数Capybara.session_nameで、値は に設定された値と一致しますCapybara.session_name

ここでもっとうまくできることについて何か提案はありますか?クリーンアップコマンドの呼び出しに失敗していますか?