問題タブ [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.
ruby-on-rails - Cucumber と Webrat を使用して、フォームに値が事前入力されていることを確認するにはどうすればよいですか?
私は Rails で Cucumber と Webrat を学んでおり、「編集」フォームをテストする最良の方法についてアドバイスを求めています。ユーザーのプロファイルを参照すると、ユーザーの情報がフォーム フィールドに事前入力された編集フォームが表示されます。フィールドに期待する情報が実際に含まれていることをテストできるようにしたいと考えています。これが私のシナリオです:
Cucumber は、次のカスタム ステップを定義する必要があることを正しく示しています。
これらのステップの評価を実装するための厄介な正規表現を見つけ出すことができると確信していますが、私ができる何かがすでに存在するか、より洗練されているに違いないと感じています。フォーム フィールドにデータが事前入力されたフォームをどのように評価しますか?
ruby-on-rails - リンクを含むWebratのラベルを検索する
だから私はCucumberでBDDをやっていて、データベースからチェックボックスが入力されたフォームを持っています。チェックボックスのラベルにはハイパーリンクが含まれています。これまでのところ、あまりエキゾチックではありません(これはHAMLであり、Erbではありませんが、Railsの人なら誰でも十分に読めるはずです):
問題は、Cucumberの機能で、チェックボックスを見つけてチェックする方法がわからないことです。物語の関連部分はこれです:
裸のwebrat_steps.rbファイルを使用している場合、次のエラーが発生します。
link_to()
これは、「脱出ポッド」を実際のWebサイトへのハイパーリンクにするために使用している方法によるものだと確信しています。link_to
しかし、Cucumberのステップから簡単にアクセスすることはできません。また、ステップで大量のハイパーリンクコードをまとめる以外に、Webratを右のチェックボックスに向ける合理的な方法を理解できません(非常に脆弱になります)。
この時点で私のBDDは停止しています。テストが難しいという理由だけでリンクを削除したくありません。そして、それはテストするのが難しいことではないように感じます。Webratは、checks()
メソッドに渡すことができるものを制限しているだけです。誰かがこれに対するエレガントな答えを提案できますか?
ruby-on-rails - webrat でページ要素を選択する
商品一覧(html表)があります。各行には製品名があり、「カートに追加」ボタンで終わります。Webrat からカートに 2 つの「コーヒー」と 3 つの「お茶」を追加するにはどうすればよいですか?
対応するhtml:
ruby-on-rails - hamlでwebratのcontain(text)マッチャーを使用する
次の webrat マッチャーを使用しています。
次のハムルで:
上記の webrat マッチャーを使用するキュウリのステップ「その後、「You have 10 credits」が表示されるはずです」を作成しました。ステップは失敗します。haml が実際に生成するため、webrat は応答内のテキストを検出しません。
haml が生成する出力とマッチャーを一致させるにはどうすればよいですか?
注:上記は、私が扱っている状況の単純化された例です。次の haml を記述することは、受け入れられる解決策ではありません。
ruby-on-rails - 統合テストで BDD を実践する -- 単体テストも必要ですか?
現在、私の開発プロセスは次のように流れています。
- WebRat を使用した統合テストとして期待される動作を説明します
- その動作を提供するためにRuby on Railsコードを書くので、テストに合格します
- リファクタリングして、プロセスの最後にテストが合格するようにします
- 次の統合テストを書きます
私の統合テストは、定義上、作成できるすべてのモデル、コントローラー、およびビューをテストしているように思えます。実際には、単体テストも書かないことで何かが足りないのでしょうか?
css - Cucumber / Webrat:CSSクラスによるリンクをたどりますか?
ID、テキスト、タイトルの代わりにクラス名でリンクをたどることは可能ですか?私が持っているとすると(ハハ、キュウリのインサイダー彼?)次のhtmlコード:
- テストで翻訳値を気にする必要があるため、テキストで一致させたくありません
- ボタンをすべて同じスタイルに見せたいので、CSSクラスを使用します。
- すべてのリンクにIDを割り当てたくありません。これは、一部のリンクがコンテナとリンククラスによって完全に識別されるためです。
Cucumber / Webratで見逃したことはありますか?または、これをより良い方法で解決するためのアドバイスはありますか?
あなたの助けとよろしくお願いします、
ジョー
編集:私はここでこのトピックについて進行中の興味深い議論を見つけました-今のところ未解決の問題のままのようです。これに対する他の解決策はありますか?
ruby - 複数のフィールドが同じ名前と ID を共有している場合、Webrat の特定のフィールドに入力するにはどうすればよいですか?
Cucumber と Webrat を使い始めたばかりで、既存の Rails アプリケーションに機能仕様を追加しています。アプリの 1 つのページには複数のフォームがあり、新しい Character オブジェクトを構築するさまざまな方法を表しています。簡単な例を次に示します。
ご覧のとおり、ページには同じ名前と ID を持つ (少なくとも) 2 つのフィールドがありますが、それらは異なる形式ですが、Webrat rdoc またはソース コードで特定のフィールドを指定する方法が見つかりません。 1。
そのうちの 1 つの名前または ID を変更できることはわかっていますが、そのためには Rails の命名規則から逸脱する必要があり、実際には変更したくありません。フォームを別のページに配置することもできますが、必要以上にワークフローを変更する必要があります。また、それらをよりモジュール化された動的な単一のフォームにマージしようとすることもできますが、特定のテスト フレームワークをサポートするためだけに UI に構造的な変更を加えなければならないことは少し疑問に思われ、常に実行可能であるとは限りません。 JavaScript を要求します。
Webrat でこれらのフィールドの 1 つを指定する方法はありますか? それとも、あきらめて別のプロジェクトで Cucumber を試す必要がありますか?
ruby-on-rails - WebRat を使用して要素が存在しないことを確認する
以下は問題なく動作します。
次に、次のような手順でそれを補完する必要があります。
標準的な「And I should not see」は満足のいくものではありません。ボタン内だけでなく、ページ内の任意の場所でターゲット フレーズをピックアップしてしまうからです。特に、ターゲット テキストのボタンが存在しないことを確認する必要があります。
私の最初の本能は、次のようなことを試すことでした:
しかしもちろん、ターゲット テキストを含むボタンが 1 つ以上ある場合でも、ターゲット テキストを含まないボタンがページにある限り、これは成功します。
あなたの考え?
どうもありがとう、
スティーブン。
enums - Webrat インストールのエラー
OS X に webrat をインストールしようとすると、次のエラーが表示されます。この問題の解決方法を教えてください。
エラー: