2013-05-14 42 views
2

我把我的腳本在下面的路徑:Rspec的HTML報告與失敗截圖

C:\Desktop\RSpec_Folder 

我的代碼是:

require 'rspec' 
require 'watir-webdriver' 
require 'rautomation' 
browser = Watir::Browser.new 

RSpec.configure do |config| 
    config.before(:each) { @browser = browser } 
    config.after(:suite) { browser.close unless browser.nil? } 
end 

describe "Outbid Home Scenarios validation" do 
    before(:each) do 
    @browser.goto('http://www.outbid.com') 
    end 

    it "To validate outbid Logo/Home page navigation" do 
    @browser.link(:id, "home-link").click 
    end 

    it "Host & Join Live Auctions heading is available" do 
    @browser.text.include?('Host & Join Live Auctions') 
    end 

    it "Host & Join Live Auctions " do 
    @browser.text.include?('Host mail') 
    end 

    after(:each) do 
    @browser.close 
    end 
end 

我的[R規格的文件名是outbid.Rb。在命令提示符下運行以上代碼時:

rspec --format html --out results.html outbid.rb 

它僅生成HTML報告。

我想創建所有通過和失敗步驟的截圖報告。

+0

我沒有看到任何答案... – MITHUN 2013-05-15 06:50:17

+0

如何在上述代碼中使用Selenium :: RSpec :: Reporting :: HtmlReport生成帶有截屏的HTML報告? – MITHUN 2013-05-15 07:06:13

+0

我沒有看到任何引用rspec html報告有能力嵌入圖像。我已經看到它爲Cucumber html報告,但你確定它存在於rspec中嗎? – 2013-05-16 01:41:05

回答

0

這可能不是你所希望看到的答案,但它是真實的

這樣做黃瓜很容易。有關該主題的多篇博文,只需要幾行代碼。

問題是,Rspec是圍繞運行UNIT測試而設計的,它幾乎不需要採取或嵌入屏幕截圖。這種事情在驗收測試中更爲常見,這種Cucumber比Rspec更適合這種設計。

所以你的選擇是擴展你的框架(我將從Jarmo發佈的帖子開始,你在評論中引用你的問題),或者如果這看起來在你的頭上,而你不想花時間去學習所需的編碼,然後考慮您選擇的框架,並查看諸如爲驗收測試設計的Cucumber之類的東西,並將HTML測試結果報告中的截圖嵌入到相關的一塊蛋糕中。

黃瓜在env.rb添加這樣的代碼(注:此代碼只需要截圖的故障,如果你希望他們所有的時間然後取出,如果邏輯是圍繞內4行代碼包)

After do |scenario| 
    if scenario.failed? 
    screenshot = "./FAILED_#{scenario.name.gsub(' ','_').gsub(/[^0-9A-Za-z_]/, '')}.png" 
    @browser.driver.save_screenshot(screenshot) 
    encoded_img = @browser.driver.screenshot_as(:base64) 
    embed("data:image/png;base64,#{encoded_img}",'image/png') 
    end 
end 

如果rspec的也有類似的嵌入命令,那麼你可以把可能的代碼非常相似的後內(:每個)。我查看了rdocs,發現沒有像Embed,所以我不知道庫存Rspec框架是否可以處理這個問題。 (這可能是rspec組的更多問題)

3

您可以使用watir-rspec及其Watir::RSpec::HtmlFormatter,它會自動保存所有失敗規格的截圖(以及在此示例中生成的其他文件)。

只需按照README進行配置即可。