問題タブ [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 投票する
4 に答える
3045 参照

ruby-on-rails - Rspec+Capybara オプションで JS ドライバーを変更

CI に poltergeist/phantomjs を使用していますが、必要に応じて JS ドライバーを selenium に変更して、テストをローカルで実行できるようにしたいと考えています。理想的には、このデフォルトのポルターガイストのコマンド ライン フラグが必要ですが、rspec --driver=selenium (または同様のもの) を実行できるようにする必要があります。

何か案は?

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

cucumber - カピバラ/ポルターガイスト要素の子要素を一覧表示する

私は周りを検索しましたが、これを行う方法が見つかりません。

EmberJS/Rails アプリのキュウリ機能で Poltergeist ドライバーを使用して Capybara テストを実行しています。ヘッドレス vagrant インスタンス内で実行しているため、page.driver.debug を使用できません。トラブルシューティングは利用できませんが、スクリーンショットは機能し、Chrome 開発ツールは問題のページを検査して正しい要素を示します。

失敗するキュウリのシナリオがありますが、それは検索が機能していないためです。私のテストは次のようになります。

問題の要素が見つかりません。DOM の関連セクションは次のとおりです。

binding.pry を追加すると、次のようになります。

私にこの応答を与える:

この:

私にこの応答を与える:

しかし、完全な発見:

私にこの応答を与える:

これは親/兄弟の問題だと思いますが、トラブルシューティングはできません。だから私はいくつかの質問があると思います:

  1. デバッグのために、すべての子要素を一覧表示するポルターガイスト ドライバーはありますか?
  2. xpath セレクターに何か問題がありますか? ..返されているという事実はCapybara::Element tag="div"、私が正しい親要素を持っていると思います (そして、私が言ったように、他の同様のテストの他のページでも機能します) が、それがどの要素であるかを確認する方法がありません. xpath を取得する方法や、要素を識別するのに役立つその他のものを見つけることができません。
0 投票する
1 に答える
344 参照

ruby-on-rails - 別のサーバーで失敗する Capybara 仕様

最近、mi CI サーバー (Teamcity) を、同じ構成でかなり似た OS を持つ別の強力なマシンに移動しました。

それ以来、私の統合仕様のいくつかが失敗し始めました。私のセットアップはかなり標準的で、Rails 3 + カピバラ + ポルターガイスト + ファントム js です。

失敗は決定論的であり、常に発生し、DOM で欠落しているノードに常に関連しています。また、同様の設定の異なるプロジェクト間で失敗が発生するため、プロジェクトの構成に関連するものではありません。これは、カピバラ 1.x とカピバラ 2 の両方で発生しています。

これは最も単純な失敗仕様です。この仕様は JavaScript を必要とせずに実行されるため、この問題はラックのみの仕様にも存在することに注意してください。

私が試したこと:

  • 異なるマシンで仕様を実行すると、すべての開発マシンとステージング サーバーで動作します。CI環境外でもCIマシンでしか障害を再現できません(つまり、コマンドラインからスペックを実行することによって)
  • Capybara.default_wait_timeばかげたことに増加20
  • page.should have_content列の前に残忍な睡眠を試みた
  • RVM、ruby、capybara、poltergeist を CI マシンの最新バージョンにアップグレードします。
  • teamcity を最新バージョンにアップグレードする

私が見つけた最も奇妙なことはsave_page、失敗した行の直前に呼び出しを追加したときです。自分のマシンで仕様を実行し、次にサーバーが失敗している CI でこれら 2 つのファイルを比較すると、結果は次のようになります。

どちらが仕様を失敗させる 2 つの欠落部分であり、フォームが送信され、コントローラー アクションが正常に実行されますが、dom の欠落部分が 2 つあります。それはどのように可能ですか?そして、なぜこれが1台のマシンでのみ起こっているのですか?

記録のために、これら 2 つの DOM は、標準の Rails ツールで追加されます。

もう1つは分析宝石を使用

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

ruby-on-rails - Rails アプリケーションで PhantomJS と Poltergeist を接続できない

Poltergeist github ページの指示に従いましたが、PhantomJS のバージョンが間違っているというエラーが表示され続けます。

具体的には、次のように述べています。

今、phantomjs v1.8.1 (およびそれ以降の v1.9.2) をダウンロードしたので、バージョンは正しいです。これは本当に私を夢中にさせています。私はUbuntu 13.04を使用していますが、それが理由だとは思いません。

エラーをグーグルで検索しても、何も返されません。

何か案は?

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

ruby-on-rails - binding.pry 使用時にタイムアウトを回避するように phantomjs に指示する方法

ある時点で、皆さんがそれを REPL 駆動型開発と呼んでいるのかどうかはわかりませんが、binding.pryテストに呼び出しを挿入してランタイムの内容を調べていることに気づきました。を使用するドライバーpoltergeistとして選択したため、Cucumber テストを実行している場合を除いて、これはかなりうまく機能します。REPL を起動することはできますが、しばらくすると強制終了され、 からタイムアウト エラーが発生します。これはおそらく以前に尋ねられたことがありますが、答えが見つかりませんでした。手がかり?capybaraphantomjsphantomjspry-remote

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

capybara - カピバラのポルターガイストでプッシャーをテストする

Poltergeist でプッシャー アプリをテストしようとしています。これまでのところ、私はcapybara-webkit. 仕様でこれを示す最小限のサンプルアプリを作成しました。仕様は で合格しますが、 で失敗します。capybara-webkitPoltergeist

何か不足していますか、それともこのタイプのプッシャー (WebSocket) テストは現在 Poltergeist では実行できませんか?

前もって感謝します。