2016-11-08 182 views
1

我有一個測試包,默認情況下在Selenium_webdriver(Chrome)中運行測試,並且有一個選項可以通過env.rb文件中的ENV['headless']在Poltergeist中運行。無頭測試可用於部署(未在瀏覽器上安裝瀏覽器)。Cucumber標籤中的環境變量

我有一些測試是特定於無頭執行,如檢查狀態代碼,響應頭等。我想知道是否有一種方法,我可以使用鉤說,而headless=true做x,y或z。

我試過使用標籤,但當瀏覽器運行時會干擾測試。

喜歡的東西:

AfterStep (ENV['headless']) do 
    if page.status_code == 200  
    check_xss_settings 
    end 
end 

是否有可能做我想做什麼?

謝謝

+0

當您使用標籤時,您遇到了什麼問題?如果將標籤添加爲用於部署的功能或場景,請使用「@Headless」,並使用帶有「@Headless」標籤的--tags選項。對於瀏覽器測試沒有標籤選項,或者如果您不想運行部署測試,請使用「〜@無頭」取消「@Headless」選項。 – Grasshopper

+0

對此有幫助嗎? http://stackoverflow.com/questions/29713935/how-to-implement-different-data-for-cucumber-scenarios-based-on-environment – fabersky

+0

謝謝fabersky,這是一個很好的閱讀,但它似乎是針對java Ruby – Tom

回答

0

我已經確定我要去哪裏錯了。

在我的鉤,我用的是以下幾點:

AfterStep (ENV['headless']) do 
    if page.status_code == 200  
    check_xss_settings 
    end 
end 

通過這樣做,我能夠實現我的結果:

AfterStep do 
    if ENV['headless'] == 'true' 
     if page.status_code == 200 
     check_xss_script 
     end 
    end 
end 

我希望這能爲一個人是有幫助類似的位置。