問題タブ [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.

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

ruby - 純粋な Ruby (Rails なし) でカピバラを使用するには?

簡単な Ruby スクリプトで Capybara を実行しようとしています。スクリプトは次のとおりです。

問題は、これを実行すると次のエラーが発生することです。

私は何を間違っていますか?

いくつかの詳細情報:

  • Mac OS X 10.5
  • ruby 1.8.6 (2009-06-08 パッチレベル 369) [universal-darwin9.0]
  • カピバラ (0.3.9)

ありがとう!

ニール

注: jnicklas からのコメントに従って、私はこれを試しました。これは、新しい README とより密接に一致します。

残念ながら、まだ同じエラーが表示されます。

考え?

ありがとう!

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

ruby-on-rails - Rails 3 プロジェクトの Cucumber で Capybara @javascript タグを正しく実行するにはどうすればよいですか?

新しい Rails 3 プロジェクトで Webrat を Capybara に交換しました。ここで Tim Riley のすばらしい投稿 ( http://openmonkey.com/articles/2010/04/javascript-testing-with-cucumber-capybara ) を実行し、彼のリポジトリのクローンを作成し、キュウリ機能の例を実行して、ブラウザ ウィンドウが起動します。そのため、Cucumber、Capybara、Selenium スタック全体がそのインスタンスで正常に動作するようです。

ただし、新しい Rails 3 プロジェクトを作成し、同様のサンプル プロジェクトのセットアップを実行し、@javascript でシナリオに注釈を付けると、ブラウザ ウィンドウは起動せず、Cucumber シナリオは通常どおりに失敗しCommand failed with status (1) eventます (これは、失敗のインスタンスではまたは保留中のステップ、CI ツールの利点のために設計された Cucumber トリガー)。

Capybara が提供する @javascript 機能を除けば、他のすべての機能は問題なく動作します。

信じられないほど明白な何かが欠けていますか?BDD の初心者が問題をより深く調べる方法はありますか (スタック トレースは、Cucumber が失敗したときに標準のレーキ エラーを表示するだけです)。

  • rvm 1.9.2 ヘッド
  • 宝石「レール」、「3.0.0.rc」
  • 宝石「キュウリ」
  • gem 'cucumber-rails'
  • 宝石「カピバラ」
  • 宝石「キュラリティー」
  • gem 'celerity', :require => nil
0 投票する
3 に答える
822 参照

ruby-on-rails - Rails3のルート名

キュウリとカピバラを使っています。

これは私のステップ定義の1つがどのように見えるかです。

そして、これが私のルーティングファイルです:

パスの名前は何ですか?

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

ruby-on-rails - ブラウザの状態をリセットせずに、複数のRSpec / Seleniumテストを順番に実行できますか?

だから私はステーキを使い始めました。ステーキはカピバラを使い、カピバラはセレンを使います。

したがって、テストを多くの小さなit句に分割し、それぞれが小さな機能をテストすることは、RSpecの優れた方法であると聞いています。ただし、テストごとに同じ手順が繰り返されるため、テストの実行にかかる時間が大幅に長くなります。

いくつかのajax機能をテストしているとしましょう。私はそれをテストしたい:

  • 特定のリンクをクリックするとフォームが表示されます
  • そのフォームに無効な入力を送信すると、エラーメッセージが表示されます
  • 有効な入力などを送信すると、確認メッセージが表示されます。

しかし、これらのそれぞれを独自のテストケースに分割した場合、Seleniumは最初からやり直す必要があります。同じページを3回ロードし、リンクをクリックしてフォームを3回表示する必要があります。無駄。

私ができるようにしたいのは、ブラウザーの状態を保持する一連のテストを指定することです。これにより、各テストは前のテストが中断したところから続行されます。それは可能ですか?

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

ajax - カピバラとセレンでキュウリを作成するにはどうすればよいですか?ページの読み込み時にAjaxを起動します

きゅうりの話として次のようなものがあります。

そのホームページが読み込まれると、ページ上の AJAX を介して入力されるドロップダウンがあり、セレン実行ブラウザー テストでは、

実行されていないため、使用する必要があるドロップダウン選択が存在しません。おそらく、ステップを介してページロードのためにSeleniumにJavaScriptイベントを強制的に発生させる方法はありますか

ページが読み込まれると、メンバーに関する情報が AJAX 経由で取得されます

またはそのようなもの。そのドロップダウンボックスが必要ですが、ナビゲーションドロップダウンを使用するアプリケーションの他の部分のアクションキャッシングのために、JavaScriptでロードした後にこの追加のドロップダウンが必要な場合があるため、実際には変更できません。

何か案は?

EDIT:テストデータを間違って設定したことが判明し、それが条件を満たしていなかったので、いつものようにライブラリは問題なく、間違いを犯したようです。これで問題ないようです。

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

selenium - キュウリとカピバラ、非リンクまたはボタン要素をクリック

Cucumber / Capybara / Seleniumスタックを使用してインプレースエディターをテストしようとしていますが、問題は、リンクやボタンではなく、divをクリックしてエディターがアクティブ化されることです。カピバラにこれをさせる方法がわからないようです。これを行う方法はありますか?

0 投票する
5 に答える
19066 参照

javascript - JavaScript から Selenium Webdriver ページにいることを検出する方法はありますか

テスト内でTinyMCEの初期化を抑制したいのですが、Selenium で自動化されたページ内で実行していることを JavaScript が検出できれば、これを簡単に実行できます。

では、Selenium ドライバーを検出するために使用できる JavaScript コードはありますか? または、userAgent 文字列を拡張して、JavaScript から検出できるパターンを含めるにはどうすればよいですか?

本当に問題がある場合は、これをMac OS X のCucumberCapybaraで実行しています。

0 投票する
5 に答える
3652 参照

ruby-on-rails - きゅうり、カピバラ、ElementNotFound

私の Rails アプリケーションには、javascript 関数を実行するリンクを含むページがあります。

私のキュウリ機能には次のものがあります。

そして、私が得るメッセージは次のとおりです。

私はおそらく何かを見逃していますが、それが何であるかを見つけることができません..

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

ruby-on-rails - キュウリのjavascriptからのリダイレクトに従う方法は?

別のフォームを送信する前に ajax 呼び出しを行うボタン (送信ボタンではない) があります。

私がやりたいことは

しかし、リダイレクトはやや遅れて発生し、ページがまだホームページにあることを考えると、「Then」ステートメントは失敗します。ajax 呼び出し (ボタンをクリックした結果) が終了し、ページがサブミッターになるまで待つにはどうすればよいですか??

何か案は?

編集: サンプル JavaScript コード

為に

Javascriptは(構文エラーを無視してください。全体的なアイデアが得られると思います)

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

cucumber - 毎回フォームに入力しなくても、authlogicからログインできます。

私が取り組んでいるプロジェクトでカピバラを使って実行するキュウリのシナリオがいくつかあります。

これらのシナリオのほとんどは、「ログインしている場合」の手順から始まります。現在、これの私の実装は次のとおりです。

これは正常に機能しますが、すべてのシナリオの前にログインフォームをロードして送信する必要があるため、少し時間がかかります。

毎回フォームを確認しなくても、このステップでセッションを簡単に設定する方法はありますか?