問題タブ [capybara]
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.
rspec - Capybara:IDで入力フィールドに入力するにはどうすればよいですか
私はこれを持っています:
ID でそのフィールドに入力するにはどうすればよいですか?
jquery - リンクは、Cucumber、Capybara を介して jquery アクションをトリガーしません
問題は、「新しい予約番号を追加」リンクを押すと、新しい入力テキストをビューに追加する Jquery コードをトリガーする jquery を少し含む html ページがあり、Web ブラウザーでテストすると、動作しますが、キュウリ機能に次の手順があります。
ステップ4.「新しい予約番号を追加」リンクをクリックすると予約2ラベルが生成されないため失敗しますが、ステップ3でそのリンクを手動でクリックすると、新しいフィールドが正しく生成されるため、失敗します何が起こっているかを知る
カピバラとキュウリレールの問題を解決したところ、次の行にコメントしました
この問題のためhttps://github.com/jnicklas/capybara/issues/issue/110
私の宝石のバージョンは次のとおりです。
誰でも私を助けることができますか?
ruby-on-rails - Rails テストで Capybara と RSpec を使用するだけでなく、Steak は何を追加しますか?
ステーキの必要性を理解しようとしています。Cucumber のように英語の仕様を Ruby にマッピングする代わりに純粋な Ruby を使用できることを除いて、Cucumber に似ていると思いますが、主に RSpec DSL のラッパーを追加し、それを使用できるようにします。
出典: http://jeffkreeftmeijer.com/2010/steak-because-cucumber-is-for-vegetarians/
それだけですか?例から、あなたはまだ Capybara と RSpec のマッチャーを使って大変な作業をしているように思えます..では、Steak のような複雑なものを追加する代わりに、RSpec で Capybara を使用しないのはなぜですか? 英語での受け入れ仕様の説明は唯一の価値提案ですか?それとも他に何か不足していますか?
ありがとう
ruby-on-rails - セレンとxhrpostを使用したキュウリのシナリオを機能させる際の問題
ページを変更するために使用されるいくつかのjsコードを返すxhr投稿をテストするキュウリのシナリオがあります。
私が抱えている問題は、手動でテストするとFFとChromeの両方で完全に機能しますが、キュウリとセレンで実行すると(Firefoxで)機能しないことです。デバッグを行ったところ、jsの回答が正しく得られましたが、必要に応じてページが変更されていないため、実行されていません。
私はjquerysexypostを使用しており、応答の実行を担当する部分は次のとおりです。
form.trigger( "sexyPost.complete"、[xhr.responseText]);のようです。次のようなアラートを送信した場合、は実行されません。
私はその答えが確かに正しいものであることを確認することができます。
誰かが以前に同様の問題を抱えたことはありますか?
UDPATE
トリガーが実行されていたことがわかりましたが、そうではないのはevalの呼び出しです。
ruby-on-rails - Railsコントローラーでカピバラを使用するには?
基本的に、サイトをスクレイピングしたかったのです。たとえば、アプリを google.com に移動させ、検索を実行して、結果の総数を取得したいと考えていました。
だから私はそれを行うためにカピバラを使用します-しかし、レールコントローラー内で動作させることができないようです。
カピバラを使ってサイトをスクレイピングするか、もっと簡単な方法を提案できますか?
よろしくお願いします。
gwt - UI Test{Capybara + Cucumber]: 特定のテキスト ボックスにフォーカスがあるかどうかを確認する方法
こんにちは、現在、ページの読み込み時に特定のフィールドにフォーカスがあるかどうかをテストしています。これを行う方法についてはどこにも見つかりませんでした。基本的に私がやりたいことは、ページ内の特定の要素にフォーカスがあるかどうかを確認することです。これを確認する組み込みの方法はありますか?
ありがとう。
ruby - Selenium(Capybaraで使用)を低速で実行するにはどうすればよいですか?
デフォルトでは、Seleniumは、Cucumberを使用して定義したシナリオで可能な限り高速に実行されます。低速で動作するように設定したいので、プロセスのビデオをキャプチャすることができます。
のインスタンスにメソッドSelenium::Client::Driver
があることがわかりましたset_speed
。これはJavaAPIに対応しています。
Selenium::Client::Driver
クラスのインスタンスを取得するにはどうすればよいですか?まで取得できますpage.driver
が、それはのインスタンスを返しますCapybara::Driver::Selenium
。
ruby-on-rails-3 - CelerityはAcceptヘッダーを送信せず、Deviseはプレーンテキストで応答するため、CelerityはDeviseリダイレクトに従うことができません。
認証にDeviseのRails3gemを使用してRails3にアップグレードしたばかりのRailsアプリケーションがあります。一部のページをテストするために、CelerityバックエンドでCapybaraを使用しています。
ブラウザでアプリケーションにアクセスする場合、ユーザーが保護されたページ/コントローラにアクセスしようとすると、Deviseはログインページへのリダイレクトで応答します。
Rails 2.xバージョンのDeviseでは、これは、着信リクエストに空白のacceptヘッダーが含まれている場合でも機能していました*/*
。
Rails 3バージョンでは、acceptヘッダーが空白の場合、Deviseはプレーンテキスト文字列で応答します。
空白のacceptヘッダーが重要な理由は、CapybaraのCelerityバックエンドを使用して一部のページをテストしているためです。Celerityは空白のacceptヘッダーを送信するため、Deviseによってリダイレクトされません。この動作は、Devise forRails2.xからDeviseforRails3に変更されました。
CelerityはUnexpectedPageExceptionで失敗し、サーバーログはリクエストが*/*
acceptヘッダーとして行われたことを報告します。
まったく同じテストスイートでSelenium/Webdriverバックエンドを使用すると、問題は解決します。
これに取り組むには2つの方法があります。
- どういうわけか常にtext/htmlをacceptヘッダーとして想定し、それに応じて応答するようにDeviseに指示します。どうすればそれができますか?コントローラをオーバーライドする必要がありますか?
- 送信されたtext/htmlをacceptヘッダーとして「修正」します。これはどのように行うことができますか?
- これはHTMLUnitの問題/バグですか?
私には#2はこれを修正する「正しい」方法のように見えますが、Celerity/HTMLUnitのacceptヘッダーの欠如がバグなのか機能なのかはわかりません。考え?
ruby-on-rails-3 - カピバラとキュウリがどのように機能するかを学ぶための最良の方法は?
キュウリ、カピバラがどのように機能するかを知るための最良のリソースについて質問したいと思います。使い方は知っていますが、うまくいかないことがあります。理由がわからないので、カピバラとキュウリのソースコードを読んでみようと思いましたが、一般的な考え方がないと少し複雑なので、ここで質問します。背後で何が起こっているのかを理解するのに十分な方法でこのことを学び、このようなツールでは物事は魔法のようには見えませんか?
ご挨拶
javascript - カピバラと Javascript onbefoureunload
保存していないものを残す前にユーザーに警告する onbeforeunload 関数を備えた「ask_a_question」ページがあります (SO :P のように!)。キュウリとカピバラと webdriver を使用してテストしています。JavaScript を多く使用するため、@javascript タグを追加します。キュウリの機能は次のようになります。
しかし、テストがパスすると、Capybara (または WebDriver、私にはわかりません) が同じブラウザー ウィンドウを他のテストに再利用しようとすると、onbeforeunload アラートが表示され、次のテストが台無しになります。
私の機能は、ページ自体を閉じたり終了したりしていないためです。アラートを受け入れるために何かを追加するのは良い考えではないと思います。しかし、正直なところ、私はかなり迷っています。
@javascript テストごとに新しいブラウザ ウィンドウを使用するか、onbeforeunload アラートを自動的に閉じるようにカピバラに指示するにはどうすればよいですか?
ありがとう