問題タブ [webrat]

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

ruby-on-rails - webrat でページ要素を選択する

商品一覧(html表)があります。各行には製品名があり、「カートに追加」ボタンで終わります。Webrat からカートに 2 つの「コーヒー」と 3 つの「お茶」を追加するにはどうすればよいですか?

対応するhtml:

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

ruby-on-rails - hamlでwebratのcontain(text)マッチャーを使用する

次の webrat マッチャーを使用しています。

次のハムルで:

上記の webrat マッチャーを使用するキュウリのステップ「その後、「You have 10 credits」が表示されるはずです」を作成しました。ステップは失敗します。haml が実際に生成するため、webrat は応答内のテキストを検出しません。

haml が生成する出力とマッチャーを一致させるにはどうすればよいですか?

注:上記は、私が扱っている状況の単純化された例です。次の haml を記述することは、受け入れられる解決策ではありません。

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

ruby-on-rails - 統合テストで BDD を実践する -- 単体テストも必要ですか?

現在、私の開発プロセスは次のように流れています。

  1. WebRat を使用した統合テストとして期待される動作を説明します
  2. その動作を提供するためにRuby on Railsコードを書くので、テストに合格します
  3. リファクタリングして、プロセスの最後にテストが合格するようにします
  4. 次の統合テストを書きます

私の統合テストは、定義上、作成できるすべてのモデル、コントローラー、およびビューをテストしているように思えます。実際には、単体テストも書かないことで何かが足りないのでしょうか?

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

css - Cucumber / Webrat:CSSクラスによるリンクをたどりますか?

ID、テキスト、タイトルの代わりにクラス名でリンクをたどることは可能ですか?私が持っているとすると(ハハ、キュウリのインサイダー彼?)次のhtmlコード:

  • テストで翻訳値を気にする必要があるため、テキストで一致させたくありません
  • ボタンをすべて同じスタイルに見せたいので、CSSクラスを使用します。
  • すべてのリンクにIDを割り当てたくありません。これは、一部のリンクがコンテナとリンククラスによって完全に識別されるためです。

Cucumber / Webratで見逃したことはありますか?または、これをより良い方法で解決するためのアドバイスはありますか?

あなたの助けとよろしくお願いします、

ジョー

編集:私はここでこのトピックについて進行中の興味深い議論を見つけました-今のところ未解決の問題のままのようです。これに対する他の解決策はありますか?

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

ruby - 複数のフィールドが同じ名前と ID を共有している場合、Webrat の特定のフィールドに入力するにはどうすればよいですか?

Cucumber と Webrat を使い始めたばかりで、既存の Rails アプリケーションに機能仕様を追加しています。アプリの 1 つのページには複数のフォームがあり、新しい Character オブジェクトを構築するさまざまな方法を表しています。簡単な例を次に示します。

ご覧のとおり、ページには同じ名前と ID を持つ (少なくとも) 2 つのフィールドがありますが、それらは異なる形式ですが、Webrat rdoc またはソース コードで特定のフィールドを指定する方法が見つかりません。 1。

そのうちの 1 つの名前または ID を変更できることはわかっていますが、そのためには Rails の命名規則から逸脱する必要があり、実際には変更したくありません。フォームを別のページに配置することもできますが、必要以上にワークフローを変更する必要があります。また、それらをよりモジュール化された動的な単一のフォームにマージしようとすることもできますが、特定のテスト フレームワークをサポートするためだけに UI に構造的な変更を加えなければならないことは少し疑問に思われ、常に実行可能であるとは限りません。 JavaScript を要求します。

Webrat でこれらのフィールドの 1 つを指定する方法はありますか? それとも、あきらめて別のプロジェクトで Cucumber を試す必要がありますか?

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

ruby-on-rails - WebRat を使用して要素が存在しないことを確認する

以下は問題なく動作します。

次に、次のような手順でそれを補完する必要があります。

標準的な「And I should not see」は満足のいくものではありません。ボタン内だけでなく、ページ内の任意の場所でターゲット フレーズをピックアップしてしまうからです。特に、ターゲット テキストのボタンが存在しないことを確認する必要があります。

私の最初の本能は、次のようなことを試すことでした:

しかしもちろん、ターゲット テキストを含むボタンが 1 つ以上ある場合でも、ターゲット テキストを含まないボタンがページにある限り、これは成功します。

あなたの考え?

どうもありがとう、

スティーブン。

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

enums - Webrat インストールのエラー

OS X に webrat をインストールしようとすると、次のエラーが表示されます。この問題の解決方法を教えてください。

エラー:

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

ruby-on-rails - キュウリのテーブルの差分とcolspan

私はキュウリとそのテーブル差分機能が大好きです。しかし、私は、テーブルのタイトルを表示するためにtdcolspanをよく使用します。また、colspanを使用すると、テーブルの差分が機能しないようです。(テーブルdiffは2次元配列を想定しており、colspanはそれを壊します)

誰もがこれを機能させることができますか?

ありがとう!

ジョナサン

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

asp.net - ASP.NET アプリケーションに Webrat を使用できますか?

Webrat では、Web アプリケーションを Ruby/Rails で作成する必要がありますか?

ASP.NET Web アプリケーションに対するテストを作成するために試してみたいと思います。

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

ruby-on-rails - jQuery UI ダイアログ ボタンが Selenium/Webrat の click_button または selenium.click に応答しない

jQuery UI ダイアログ ボタンを click_button または selenium.click に応答させることができた人はいますか? これを機能させることができないようです。

基本的に、Cucumber/Webrat/Selenium を使用して、Rails アプリの jQuery UI ダイアログでフォームをテストしようとしています。

多くのテーブル行を含むページがあり、各行をクリックするとフォーム付きのダイアログ ボックスが表示されます。各フォーム要素には一意の ID があるため、マークアップは有効です。

ボタンは Dialog プラグインによって動的に作成できるため、ダイアログを初期化して「保存」ボタンと「キャンセル」ボタンを追加します。興味深いことに、プラグインは入力タグではなく、ボタン タグを挿入します。また、以下に示すように、開くときに id を追加して、テスト フレームワークがボタンをターゲットにできるようにします。

マークアップは次のようになります。

私のCucumberステップ(現在)は次のようになります:

Cucumber を実行して「デバッガー」にヒットすると、入力フィールドで手動で「selenium.click」することができます。

これにより、そのフィールドにカーソルが正常に配置されます。ただし、ボタンをクリックしても機能しません。

コマンドラインデバッガーでそれを入力すると、nil が返されます (例外がないため、これは成功だと思います) が、Firefox は何もしません。ダイアログ ボックスはブラウザで開いたままになります。response.body を出力すると、そのボタンが表示されます。

私も試しました

しかし、「selenium_wait」コマンドはタイムアウトします。これは、その要素が表示されないことを意味します。

私は立ち往生しています...