2017-04-10 77 views
0

黃瓜場景我正在試圖自動化瀏覽器測試和我打的問題,而試圖實現多個瀏覽器到一個特徵文件多種瀏覽器

Feature: feature X 

    Background: 
    Given User on X using "Chrome" 

    Scenario: X process in Chrome 
    when x is 
    then x etc.. 


    Given User X using "Firefox" 
    @Firefox 
    Scenario: X process in Firefox 
    steps...etc 


    Given User on X using "IE" 
    @IE 
    Scenario: X process in IE 
    steps..etc 

這些測試都運行良好,而不在同一個特徵是文件,但我不知道如何將它們分開,它們都運行過的第一考慮(鉻)

感謝

Feature: X 

    @Chrome 
    Scenario: X process in Chrome 
    Given User on X using "Chrome" 


    @Firefox 
    Scenario: X process in Firefox 
    Given User on X using "Firefox" 


    @IE 
    Scenario: X process in IE 
    Given User on X using "IE" 
+0

爲什麼在他們各自的場景之外使用「IE」(Chrome和Firefox類似)的X步驟User?它們全部使用Chrome瀏覽器,因爲Chrome Given步驟處於後臺步驟,該步驟將針對功能文件中的所有場景運行。 – Grasshopper

+0

嗨草蜢,我現在已經改變它有給定的場景內,並刪除了背景,現在它只是在Firefox中進行測試 –

+0

當你運行測試時,你有@火狐瀏覽器的標籤過濾器嗎?控制檯對運行場景的數量有何看法? – Grasshopper

回答

0

上運行DIF功能的方式不同的瀏覽器將爲每個瀏覽器單獨進行測試。您的功能應該討論的是功能,而不是您正在運行的瀏覽器。

因此,可以說你的功能被稱爲「註冊」你可以運行

cucumber features/registration.feature -t @chrome 
cucumber features/registration.feature -t @ie 
cucumber features/registration.feature -t @firefox 

您可以通過運行cucumber --help瞭解這一點。您還可以查看配置文件。在單個測試運行中更改瀏覽器非常困難(並且不推薦)。切換瀏覽器需要相當多的時間,所以你真的不想在一次運行中做到這一點。