2016-08-19 10 views
0

キュウリのフィーチャファイルには2つのシナリオがあります。以下のサンプルファイルをご覧ください。キュウリのフィーチャファイルからのシナリオは、適切な順序で実行されていません。

@RunFeature 
Feature: Sanity Testing of scenarios 

@LoginFeature 
Scenario: Test xyz feature 
    Given The user is on login page 
    When User enters credentials 
    And clicks on login button 
    Then homepage should be displayed 

@InfoFeature 
Scenario: Test abc feature 
    Given The user is on home page 
    When User enters employee name in textbox 
    And clicks on get details button 
    Then Employee details are displayed 

私はTestNGのを使用して、この機能のファイルを実行しようとしています、

package TestNGClass; 
import java.io.IOException; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.chrome.ChromeDriver; 
import org.testng.annotations.BeforeClass; 
import org.testng.annotations.Test; 
import cucumber.api.CucumberOptions; 
import cucumber.api.testng.AbstractTestNGCucumberTests; 
import cucumber.api.testng.TestNGCucumberRunner; 

@Test(groups="cucumber") 

@CucumberOptions(
     features ="src/main/resources", 
     glue="stepDefinitions", 
     tags="@RunFeature") 

public class TestNGRunner extends AbstractTestNGCucumberTests{ 


    @Test(groups="cucumber",description="Runs Cucumber Features") 
    public void run_Cukes()throws IOException{ 
     //new TestNGCucumberRunner(getClass()).runCukes(); 
    } 
} 

しかし、私は、時にはそれが並列にシナリオと、時々、シーケンシャルモードの両方を実行することを観察しました。私は順次モードでシナリオを実行しようとしています。誰かが私のtestngランナークラスに追加する必要があることを教えてもらえますか?

+0

:このように。 Givenに必要なすべての状態をキャプチャして、任意の順序で実行できるようにしてください。 – jedifans

+0

しかし、この流れを制御するパラメータはありますか?私は時々それが時々そして時には並行して動く理由を得ることができないからです。 – Saisha

+0

AbstractTestNG .....クラスを拡張し、runCukesメソッドを実装する理由は何か。クラスを延長し、残りの部分を残してください。これを見てください - http://sahajamit.github.io/Cucumber-JVM-with-TestNG/または有名な計算例 - https://github.com/cucumber/cucumber-jvm/tree/master/examples/java-calculator-testng/src/test/java/cucumber/examples/java/calculator – Grasshopper

答えて

1
  1. あなたcukesをマークする必要はありませんが@Testとしてランナー、AbstractTestNGCucumberTestsを拡張することは、このクラスでテストを定義する必要はありませ
  2. 十分ではありません、あなたが考える起こるために、特定の前提条件が必要な場合はステップクラスおよび機能ファイル
  3. を使用ステップクラスまたは@Before注釈を使用するか、フィーチャーファイルでキーワードBackgroundを使用してください。 Backgroundセクションに記載されている文章は、そのフィーチャファイル内のすべてのシナリオに対して実行されます。それは一般的に悪い習慣である前に、実行中の他の機能に依存する機能を持つ

    Background: Test xyz feature 
    Given The user is on login page 
    When User enters credentials 
    And clicks on login button 
    Then homepage should be displayed 
    
    Scenario: Test abc feature 
    Given The user is on home page 
    When User enters employee name in textbox 
    And clicks on get details button 
    Then Employee details are displayed 
    
関連する問題