2016-12-21 11 views
0

基本的に同じフィーチャーファイルを使用して、別の2つのテストを実行したいとします.1つは@mobileでタグ付けし、もう1つは@desktopでタグ付けします。このようにして、1つのステップで別のフィーチャファイルを複製する必要はありません。同じシナリオでキュウリのステップを条件付きで実行することは可能ですか?

したがって、このような何か:

Scenario: Steps will run conditionally if tagged 
    Given user is logged in 
    @mobile 
    When user clicks "logout link on mobile" 
    @desktop 
    When user clicks "logout link on desktop" 
    Then user will be logged out 

私はモバイルテストを(私は、configファイルに〜デスクトップ@必要があります)を実行すると、私はそれが@desktopのステップとその逆を無視したいです。

答えて

0

Scenario Outlineを使用して、2つのExamplesテーブルを入力し、それらにタグを付けます。フィルターを使用して、テストを実行します。あなたが入れたタグは実行され、他のタグは無視されます。

Scenario Outline: Steps will run conditionally if tagged 
    Given user is logged in 
    When user clicks <link> 
    Then user will be logged out 

@mobile 
Examples: 
| link | 
| logout link on mobile | 

@desktop 
Examples: 
| link | 
| logout link on desktop | 
+0

ありがとうございます!これはまさに私が必要なものです:) – paolinni

1

もう一つのアプローチは、あなたがこのような場合のために試すことができますあります -

このようなキュウリでは、単一のステップにしてください:

When user clicks logout link 
Then user will be logged out 

コード内でこのステップのために、あなたが呼び出すことができるかの条件を追加あなたは設定ファイルから渡すフラグに基づいて、モバイルまたはデスクトップ関連の機能を使用しますか?

+0

はい、これは私が達成しようとしていることに対して最も実現可能なルートのようです。私はステップの中でそれを動作させることができるかどうかを見ていきます。 – paolinni

関連する問題