問題タブ [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.
capybara - CapybaraPoltergeist-サイトにCookieを有効にするメッセージが表示されます
ヘッドレステストのために、Poltergeist1.0.1でCapybara1.1.2を実行しています。テストはセレンドライバーで正常に実行されます。ただし、ポルターガイストの場合、サイトのスナップショットにはCookieが無効になっていると記載されています。設定がありませんか?Cookieはデフォルトで有効にすべきではありませんか?
ruby-on-rails - rspec、capybara、poltergeistでタイムアウトしたり、ランダムに失敗したりしないJavaScriptテストを作成するにはどうすればよいですか?
テストがタイムアウトし、ランダムに失敗するという問題が発生しています。堅牢なカピバラ統合テストを作成する方法のベストプラクティスを探していましたが、役立つものは何も見つかりませんでした。
一連のテストを書き始めて以来、CIサーバーはランダムに失敗し、アプリは非常に不安定に見えますが、テストは常に(ほとんど)ローカルで合格しています。
あなたと他の経験豊富なBDD/TDDの達人がどのように対処するかを知りたいです。
- 外部のJavaScriptなど(KissMetrics、Google Analyicsなど)を処理する方法と
- ビルドを中断するタイムアウトエラーのデバッグと防止
どんな助けでもいただければ幸いです。
ruby-on-rails-3 - カピバラ/キュウリとポルターガイストを twitter ブートストラップ モーダル ダイアログ ボックスで動作させる
コンテキスト: Cucumber/Capybara/PhantomJS/Poltergeist で Rails アプリをテストしています。キュウリのステップ定義ファイルの 1 つに click_link 呼び出しがあります。この click_link 呼び出しにより、Rails はコントローラーの show メソッドを呼び出します。コントローラーは特定の ID でオブジェクトを見つけ、javascript 形式 (format.js) で応答します。show.js.erb ファイルによって提供される応答は、Twitter Bootstrap モーダル ダイアログ ボックスでテキスト文字列置換を実行して、ボックスにカスタム ステータス メッセージを表示します。モーダル ダイアログ ボックスが表示されます。
これはすべて本番環境で機能します。しかし、テストでは機能しないようです。「値、ID、テキスト '閉じる' のボタンが見つかりません (Capybara::ElementNotFound)」というエラー メッセージが表示されます。また、page.html を配置すると、次のように表示されます。
モーダルダイアログボックスがまったく表示されていないと思います。誰が何が起こっているかについて何か考えがありますか?
cucumber_steps.rb
Twitter Bootstrap のモーダル ボックスのページ内の HTML:
Rails show メソッド
ruby-on-rails - page.driver .renderを呼び出すと、テストがハングします(phantomjs、capybara、poltgergeistを使用)
この問題に不満を感じています。Test::Unitテストがあります。Capybara+Poltergeist+PhantomJSを使用してスクリーンショットを撮ろうとしています。
しかし、私がそれを呼ぶとき..
ハングするだけです。
何か案は?ありがとう!
autocomplete - @javascriptキュウリテストはSeleniumドライバーを使用して合格しますが、poltergiestを使用すると失敗します
jquery UIオートコンプリートをテストしようとしていますが、セレンドライバーを使用してテストに合格しています。ヘッドレステストのためにpoltergiestに切り替えたいのですが、テストが失敗します。
まだ理解できていない理由で、オートコンプリートオプションが選択されていないようです
ステップ
ステップを変更せずにSeleniumドライバーを使用してテストに合格します。
これをデバッグする方法について何かアドバイスはありますか?
バージョン
- selenium-webdriver(2.27.2)
- ポルターガイスト(1.0.2)
- きゅうり(1.2.1)
- キュウリレール(1.0.6)
- カピバラ(1.1.4)
- phantomjs 1.8.1
angularjs - angular.jsとphantom.jsのエラー
次のスタック経由で phantomjs を実行しようとするとエラーが発生します: rails (3.2.11)、rspec (2.12.2)、capybara (1.1.4)、poltergeist (1.0.2)、phantomjs (1.8.1)、angular .js (1.1.2)。
Angular なしで、このスタックで問題なく動作する多くの仕様があります。しかし、Angular を開始するテスト ページでは、フォロー エラーが発生します。セレンドライバーを使用して仕様を実行すると、合格します。
これは、他の ng ディレクティブ (コントローラーがインスタンス化されていないなど) がない場合にのみ、最も基本的なコンテンツでも発生します。
スペックはこんな感じ
これは、ページがブラウザーに読み込まれ (js コンソールにエラーはありません)、仕様が Selenium で実行されるため、phantom.js のバグのようです。これは既知の問題ですか? 私はそれを乗り越えることができますか?ありがとう。
ジョン
rspec - テスト実行中のポルターガイストトグルプロキシ
capybara-webkitからPoltergeistに移行しています。以前は、ここに表示されているように、カピバラ-ウェブキットとパフビリーを使用していました。
これは実行時に発生し、ポルターガイストでも同じことをしたいと思います。phantomjs_options( https://github.com/jonleighton/poltergeist#customization )を使用してcapybaraドライバーのセットアップにCLIオプションを渡すことで、プロキシを設定してsslエラーを無視できることに気付きました。
実行時にプロキシおよびSSLエラーを有効/無効にすることは可能ですか?はいの場合、どのように?
javascript - この Javascript エラー TypeError: 'undefined' はオブジェクトではありません ('t.subscribe' を評価しています) を解決するには?
Web 上で 1 つのアイテムをクリックして開くと、次のエラーが発生します。
エラー: test_inline_edit_an_item_app_built_via_app_builder(TaskFeature): Capybara::Poltergeist::JavascriptError: ページの Javascript コードで 1 つ以上のエラーが発生しました。これらのエラーを気にしない場合は、Poltergeist 構成で js_errors: false を設定することで無視できます (詳細についてはドキュメントを参照してください)。
TypeError: 'undefined' は、 https: //d3tga9h80dykic.cloudfront.net/assets/cd319648/podio-common-amd.js:1 のオブジェクト ('t.subscribe' を評価) ではありません /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/poltergeist-1.1.0/lib/capybara/poltergeist/browser.rb:197:in command' /home/abhay/.rvm/gems /ruby-1.9.3-p362/gems/poltergeist-1.1.0/lib/capybara/poltergeist/browser.rb:42:infind' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems /poltergeist-1.1.0/lib/capybara/poltergeist/driver.rb:110:in find' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/ capybara/node/finders.rb:113:inblock in all' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/capybara/node/base.rb: 78:同期中' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/capybara/node/finders.rb:112:inall' /home/abhay/ .rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/capybara/node/finders.rb:26:in block in find' /home/abhay/.rvm/gems/ruby- 1.9.3-p362/gems/capybara-2.0.2/lib/capybara/node/base.rb:78:insynchronize' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/capybara/node/finders. rb:26:in find' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/capybara/session.rb:341:inblock (2レベル) in class :Session' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/capybara/dsl.rb:51:in ブロック (2 レベル) in ' task_feature.rb :489:inblock in test_inline_edit_an_item_app_built_via_app_builder' /home/abhay/podio/auto_deetee/auto_deetee/test/test_helper.rb:69:in login_as' task_feature.rb:473:intest_inline_edit_an_item_app_built_via_app_builder'2/lib/capybara/session.rb:341:inblock (2 レベル) in class:Session' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/ capybara/dsl.rb:51:in block (2 レベル) in ' task_feature.rb:489:inblock in test_inline_edit_an_item_app_built_via_app_builder' /home/abhay/podio/auto_deetee/auto_deetee/test/test_helper.rb:69:in login_as' task_feature. rb:473:intest_inline_edit_an_item_app_built_via_app_builder'2/lib/capybara/session.rb:341:inblock (2 レベル) in class:Session' /home/abhay/.rvm/gems/ruby-1.9.3-p362/gems/capybara-2.0.2/lib/ capybara/dsl.rb:51:in block (2 レベル) in ' task_feature.rb:489:inblock in test_inline_edit_an_item_app_built_via_app_builder' /home/abhay/podio/auto_deetee/auto_deetee/test/test_helper.rb:69:in login_as' task_feature. rb:473:intest_inline_edit_an_item_app_built_via_app_builder'
1 回のテスト、0 回のアサーション、0 回の失敗、1 回のエラー、0 回のスキップ
poltergeist - send_keys はポルターガイストをサポートしていますか?
Selenium から Poltergeist に切り替えたいのですが、<body>
タグへのキーボード入力のようなバーコード スキャナーをシミュレートする必要があります。私はSeleniumでこのコードを使用します:
ポルターガイストでキーの文字列を任意の要素 (つまり、入力ではない) に送信する方法はありますか?
rspec - ポルターガイストは、カピバラのshould_not RSpecマッチャーを正しくサポートしていますか?
カピバラのREADMEによると:
次の2つのステートメントは、機能的に同等です。
しかし、これを試してみると、それは真実ではないようです。capybara-webkitを使用すると、これは正常に機能するようです。
しかし、poltergeistを使用する場合、これで失敗することがよくあります。これは#has_css?
、特定の要素が消えるのを実際に待たない、裏で使用していることを示しているようです。
代わりにこのようにアサーションを読み取るように変更すると、毎回成功するようです。
私は頭がおかしいのですか、それともこれはポルターガイストのバグですか?PhantomJS 1.8.2、poltergeist 1.1.0、capybara2.0.2を使用しています。
should_not have_css
例からのデバッグ出力は次のとおりです。http: //pastebin.com/4ZtPEN5B
そして、これがshould have_no_css
例からのものです:http: //pastebin.com/TrtURWcZ