問題タブ [gherkin]

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

bdd - 私のガーキンについて混乱している-ウェブページ間のナビゲーション

私はWebプロジェクトでBDDを使い始めたばかりで、SpecFlowとWatiNを使用してブラウザーを介して自動化していますが、手順の記述方法がよくわかりません。

私はテストからすべてを推進しようとしています。TDDの方法で、テストに合格する必要がない限り、何も書かないでください。(私は詳細を駆動するために単体テストも行っていますが、この質問はそれについてではありません)。私が混乱していることの1つは、ページ間のナビゲーションと、これを仕様で定義する必要があるかどうか/方法です。

最初のテストでは、いくつかの詳細を入力し、それらがリストに表示されることを確認します。私の最初の試みは次のようになります。

シナリオ:詳細オプション1を追加

[ホームページ]を表示している
場合、[詳細を追加]をクリック
し、[名前]フィールドに「JohnSmith」と入力して
[保存]をクリック
すると、リストに「JohnSmith」が表示されます。

ただし、これには2、3ページ間を移動する必要があるため、明示的にする必要があるかどうかはわかりません。そうでない場合は、正しいページにいる、または明らかにどのページに関係していないステップであると想定する必要があります。 m on(たとえば、[詳細の追加]をクリックすると)には、現在表示しているページを確認するためのアサーションがあります。

シナリオの明示的な手順でページを確認しますか?

シナリオ:詳細オプション2を追加

[ホーム]ページ
にいる場合[詳細を追加]をクリックして[詳細を追加]
ページ
に移動 し、[名前]フィールドに「
JohnSmith」と入力して[保存]をクリックすると、[
ホーム]に移動します「ページ」
次に「ジョン・スミス」がリストに表示されます

それとも、明示的に言及せずに、オプション1の手順でそれを行いますか?

たとえば、[詳細の追加]をクリックして、正しいページが表示されることを確認する必要がありますか?

または、詳細を入力する前に、正しいページにいることを確認する必要がありますか?

または、

「詳細の追加」ページを表示している場合

そして、そのステップに、ホームページから始めて、そのページにアクセスするために[詳細の追加]ボタンをクリックすることを含めるだけです。これでも、[保存]をクリックした後にホームページに戻る場合と同じ問題が残ります。

何かご意見は?

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

.net - SpecFlow-機能ファイルで「Background:」コマンドを適切に使用するにはどうすればよいですか?

私は記事を読んだり、いくつかのスクリーンキャストを見たり、いくつかのサンプル/デモチュートリアルで遊んだりしています。

誰かが「あまり多くの背景を使わないでください」と言った記事を読みました。興味があったので、SpecFlowの機能ファイルで試してみたところ、コマンドとして強調表示されています。

それが書かれているので、私は「ガーキン」のためのいくつかの言語ガイドを見つけようとしていましたが、まだ運がありません。

それで、それはどのように使用されますか?また、不足している他のコマンドとその使用方法を示すドキュメントはありますか?

ありがとう。

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

cucumber - SpecFlow / Cucumber/Gherkin-シナリオの概要でのテーブルの使用

うまくいけば、他の人が理解できるように自分の問題を十分に明確に説明できます。ここで、次の2つの仮想シナリオがあると想像してください。

これらのシナリオは、関連するコンパイル済みテストステップを変更せずに、フィールド/値およびThenValueエントリのWhen行を好きなだけ追加できるので便利です。ただし、さまざまなフィルターテストのコピー/貼り付けのシナリオは繰り返しになり、多くのコードを使用することになります。これは避けたいことです。理想的には、シナリオのアウトラインを作成し、上記のテストでの動的な性質を維持したいと思いますが、それを実行しようとすると、サンプルテーブルの定義で問題が発生し、適切と思われる新しい行を追加できません。新しいテストインスタンス、現在私はこれを持っています:

したがって、シナリオのアウトラインを使用すると、フィルターと期待されるデータに行を動的に追加できるという問題があります。これを回避する方法を知っている人はいますか?別の角度からこれにアプローチする必要がありますか?

回避策は次のようになります。

しかし、それはあまり動的ではありません....より良い解決策を望んでいますか?:)

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

css - Watir - CSS 要素の操作

うまくいけば、誰かが私を助けてくれます。それはできないと言うか、正しい方向に向けてください。

チェックボックスがオンになっているときに CSS 要素がページに適用されていることを確認するために、Watir Ruby の記述テストを使用しようとしています。チェックボックスの属性をうまくチェックして、チェックされていることを確認できますが、実行する必要がある別のテストは、チェックボックスをチェックした後に画像が強調表示されていることを確認することです。

現在、数時間の検索の後、有用なものを見つけることができませんでした。あなたが克服しなければならなかったような問題に遭遇した人はいますか?

前もって感謝します

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

testing - ガーキンを学ぶための推奨読書

Specflowで使用できるようにGherkinを学びたいです。電車の中で読むことができる文書を探しています。たとえば、紙に印刷するなどです。

私がウェブ上で見つけることができるのは、物語を語らず、読むためにウェブページ間で多くのクリックを必要とする短い切り離された説明だけです。

(良いガーキンのコンテンツがたくさん含まれている場合は、良いものを購入してもかまいません)

0 投票する
6 に答える
8565 参照

.net - specflow を日付/時刻にうまく対応させるにはどうすればよいですか?

次のようなテストを記述できるようにしたいと考えています。

テストの specflow 側を行うにはどうすればよいですか?

編集:同じステップ定義で「31日」と「2年」の両方にどのように対処できますか

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

cucumber - Gherkinタグの最適な使用方法はどこで確認できますか?

受け入れテストにSpecFlowを使用しています。これはGherkinを使用します(DSL Cucumberが使用します)。「タグ」と呼ばれる興味深い機能が含まれています。その使用の実用性はわかりますが、BDDでタグを使用するための良い習慣を構成するものが何であるかはわかりません。

私は助けを求めてグーグルで検索しましたが、残念ながら「タグ」という単語を含めると、ガーキン以外の多くのタグと一致します(このページのタグのように!)

Cucumber wikiで助けを見つけたいと思っていましたが、タグのトピックはまだ書かれていません。

「タグを使用して、ファイルやディレクトリの構造に関係なく機能やシナリオをグループ化できる」という文を見つけましたが、それが何を意味するのかわかりません。

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

cucumber - SpecFlow -- 独立して実行されない異なるクラスで同じ正規表現を使用するステップ (与えられた)

[バインディング] でマークされた 2 つのクラス (クラス A と B) があります。現在、機能ごとにクラスを使用しています。クラス A と B の両方に、次のようなステップがあります。

クラス A で定義された機能のシナリオを実行し、テスト ランナーが上記のステップを実行すると、代わりにクラス B の一致するステップが実行されます。

「ステップ」もグローバルですか?「フック」メソッドのみがグローバルであると思いました。つまり、BeforeScenario、AfterScenario です。「Given」、「Then」、および「When」には、この動作は必要ありません。これを修正する方法はありますか?2 つのクラスを異なる名前空間に配置しようとしましたが、これも機能しませんでした。

また、「Given」を別々のクラスに入れると、各「Given」を独立させたいということで、SpecFlow を誤用する可能性がありますか?

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

.net - SpecFlow の複数のわずかなバリエーションに対処する

こんにちは、SOAP と REST (xml と JSON) を介して利用できる Web サービスを開発しています。私たちの specflow 機能はほとんど同じです。

これらの機能はすべて、SOAP インターフェース、REST/Xml インターフェース、および REST/JSON インターフェースについてテストする必要があります。

cucumber では、-R を使用して機能を実行し、ステップ ファイルの場所を指示することができますが、SpecFlow では、ステップ ファイルを回避する方法がまだ見つかっていないため、同じ機能で異なるステップを実行できます。

使用するステップの実装を変更するために、各シナリオを 3 回記述する必要はありません。

そこで、2 つの質問があります: 1) まったく同じシナリオを想定している 3 つの異なるインターフェイスに対して機能を 3 回実行するにはどうすればよいですか? 2) 毎回正しいステップ ファイルを選択するにはどうすればよいですか?

(1)を解けばおそらく(2)も解けます。

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

cucumber - きゅうりで何も変わっていないことを確認する方法は?

私がcucumber/gherkin(実際にはspecflow)でテストしようとしているビジネスシナリオは、Webフォームに一連の入力が与えられた場合、リクエストを行い、(特定の条件下で)結果が返された場合、特定のフィールドは変更されていません (他の条件下では変更されています)。例えば

データ入力画面で「frobnicator を更新しない」を選択し、フォームを送信すると結果が表示された場合、frobnicator は更新されません

「フロブニケーターが更新されていません」というステップをどのように記述しますか?

1 つのオプションは、「フォームを送信する」前に「フロブニケーターの値を覚えています」のようなステップを実行することですが、それは少しゴミです。実装の詳細の恐ろしいリークです。それはテストから気をそらすものであり、ビジネスがこれをどのように説明するかではありません. 実際、そのようなセリフは誰が見ても説明しなければなりません。

理想的には書かれているように、これをもう少しうまく実装する方法について誰かアイデアがありますか?