2012-12-03 30 views
0

運行黃瓜步驟後,我得到了非常隨機的行爲..我需要添加一個條件,以便只有在前一個步驟後纔會移動到黃瓜的下一步步驟是success..Moreover我可以在env.rb,這樣設置的容差級別出的50個文件,即使10個文件失敗,仍然是其成功的... 現在即時通訊使用如何驗證前進步驟是否成功後再進入下一步-Cucumber

After('@javascript, @selenium') do 
    page.has_content? '' 
end 

。 ..來驗證每個場景...不是每一步。

+0

是「隨機行爲」的page.has_content更大?因爲這可能是因爲你檢查加載asyc的內容。爲了解決這個問題:page.should haven_content('your content') – Klaasvaak

+0

我刪除了那段代碼...我想爲失敗的場景設置一個容錯級別....任何幫助.. – Milind

+1

你真的需要了解你描述爲隨機行爲。有些事正在做一些你不明白的事情。你必須搜索那是什麼。 – Klaasvaak

回答

0

確保該步驟已通過的最佳方式是使用rspec匹配來通過或未通過測試。如果你想要的功能失敗,如果內容爲「foo欄」是不是在頁面上你會做這樣的:

Then /^I should see "([^\"]*)"$/ do |text| 
    page.should have_content(text), "Expected to see #{text} on the page" 
end 

如果你設置的容差級別,您可以使用變量來跟蹤的成功或失敗的次數。假設你運行一個檢查「foo」的功能,並且你正在檢查50次。在您的步驟之一創建變量來跟蹤成功的次數,你可以使用水豚告訴你,如果頁面有你沒有失敗的功能,如果網頁缺少內容查找的內容:

Given /^Some step$/ do 
    @a = 0 
    if page.has_content?("foo") == true 
    a += 1 
    end 
end 

然後在你的最後一個場景,請檢查是否低於最低門檻

Then /^Last step$/ do 
    @a.should be > 40, "Expected at least 40 success but saw #{a} successes instead" 
end 
相關問題