2

私たちのプロジェクト (Java、Selenium) には多くの JBehave ストーリーがあります。文法的には同じであるが、背後にある論理が異なるステップが異なるストーリーにある場合があります。たとえば、次の手順を実行します。

When saves data

あるストーリーでは単に [保存] ボタンをクリックするだけですが、別の状況ではその背後にあるより複雑な動作が必要です。次のように、ストーリー内でこれらのステップを異なる方法で定義することができます。

When saves Employee data
When clicks Save button and confirms save

しかし、大きなプロジェクトではストーリーが多く、このようなストーリーを編集するのは大変です。また、ビジネスパーソンがそのようなストーリーの変更に反対することもあります。このような状況でのベスト プラクティスやコード例をいくつか提案できますか? テスト スコープを定義することは技術的に可能である可能性があります。これらは従業員画面のストーリーとメソッドになりますが、これらはプロジェクト画面の場合ですか? または、これに対処する方法が他にいくつかありますか?

追加情報: ここで提案されているように、テストはフォルダに整理されるようになりました: Organizing JBehave storiesが、セットアップによって 1 つとして扱われます。セットアップは次のようにかなり似ています: http://jbehave.org/reference/stable/developing-stories.html#configuring

4

1 に答える 1

2

一般に、ユーザーが違いを認識できれば、自動化でも同じことができるはずです。

自動化ツールを使用して、現在のコンテキストを示すものを探します。たとえば、「連絡先」用と「従業員データ」用の 2 つの画面がある場合、そのテキストを探してください。あなたがいる画面。または、URL を確認するか、自動化ツールが検出する特定の非表示の識別子を含めることもできます。

これは、ここの「IsPurchased()」ステップに似ています(私は JBehave ではなく DSL を使用しています。これは C# ですが、原理は同じです)。そのステップのコードを実際に見ると、支払いタイプを探していることがわかります。有効なタイプが選択されていない場合は、1 つを選択します。

あなたの場合、コンテキストはラジオ ボタンより少し大きくなります。それは全ページです。「連絡先」のステップを「従業員データ」のステップと「共有」のステップから分離し、コンテキストに適した方を呼び出すことをお勧めします。

于 2013-07-18T13:32:07.410 に答える