2017-08-16 80 views
2

我想基於變量@tags(如果可能的話)運行特定的小黃瓜場景。例如,如果我的配置文件是「dev」,我想運行場景1,並且如果配置文件是「qa」,我想運行場景2. 我可以在我的java類中獲取配置文件值。我也可以在命令行中傳遞標籤並按照here的描述運行它。但那不是我正在尋找的東西。例如:基於maven profile的黃瓜標籤

@QA 
Scenario:I do x and check y 
    Given I do abc 
    Then the response is 200 
@DEV 
Scenario:I do y and check x 
    Given I do cde 
    Then the response is 500 

我得到的Java類

System.getProperty("myprofile"); 

輪廓值我怎樣才能設置黃瓜標籤基於我的個人資料,這樣我可以運行在特定的環境特定的測試?基本上,我不想在命令行中傳遞標籤,而是希望根據我的配置文件進行設置。可能嗎?如果不是,那麼最好的方法是什麼?

+0

我有同樣的需要。我認爲[這個答案](https://stackoverflow.com/a/35866172/3250856)是我們需要的。 – Helgi

回答

0

我使用maven profile實現了這一點。在每個配置文件中,設置黃瓜選項

<profiles> 
    <profile> 
    <id>development</id> 
    <properties> 
     <cucumber.options> 
     --tags @myTags 
     </cucumber.options> 
    <properties> 
    </profile> 
    ............ 
</profiles> 

然後傳遞作爲系統屬性變量在構建插件作爲

<build> 
    <plugins> 
    <plugin> 
     <configuration> 
     <systemPropertyVariables> 
      <cucumber.options>${cucumber.options}</cucumber.options> 
     </systemPropertyVariables> 
     </configuration> 
    <plugin> 
    </plugins> 
</build>