2016-05-07 5 views
0

魅力的なレポート生成が過去2週間失敗し始めました。私はシナリオの失敗でスクリーンショットを取るために使用する私のhooks.rbファイルの次の行に 'Closed Stream'エラーが表示されます。ここでは魅力レポートの生成「は例外IOErrorクローズストリーム」というレポートにスクリーンショットのファイルを添付しているので、最後の行の「クローズドストリーム」エラーで失敗したキュウリを使用してレポートを魅力的にするファイルを添付する

AllureCucumber::DSL.attach_file("#{scenario.name}.png -FAILURE Screenshot", path) if ENV['ALLURE']=='true' 

を失敗しているファイル -

def take_screenshot(scenario_name) 
    screenshots_path= 'artifacts/screenshots/' 
    unless File.directory?(screenshots_path) 
     FileUtils.mkdir_p(screenshots_path) 
    end 
    puts "scenario name is #{scenario_name}" 
    page.driver.browser.save_screenshot "#{screenshots_path}/#{scenario_name}.png" 
end 
******* 
    if scenario.failed? 
     path = take_screenshot(scenario.name) 
     puts "path to attach #{path}" 
     AllureCucumber::DSL.attach_file("#{scenario.name}.png -FAILURE Screenshot", path) if ENV['ALLURE']=='true' 
    end 

ルビーからいくつかの関連する行があります。ここで何がうまくいかないのですか?

+1

私はいくつかをチェックします。サーバーがパフォーマンスに達していないことを確認します。ファイルが大きすぎるため、ファイルがサーバーによってブロックされていないことを確認してください。そして、あなたがそれを読む瞬間にファイルにアクセスできることを確認してください。 –

答えて

0

は、私はより多くの調査を行なったし、ライン -

AllureCucumber::DSL.attach_file("#{scenario.name}.png -FAILURE Screenshot", path) if ENV['ALLURE']=='true' 

が実際にカピバラの宝石でattach_file方法を参照していることが判明 -

[https://github.com/jnicklas/capybara/blob/master/lib/capybara/node/actions.rb][1]

をして失敗します。

私がてこを使用してthis-

[1] pry(#)> AllureCucumber::DSL.attach_file("#{scenario.name} -FAILURE Screenshot", path) #if ENV['ALLURE']=='true' IOError: closed stream from /Users/rv/.rvm/gems/ruby-2.2.0/gems/capybara-2.5.0/lib/capybara/node/actions.rb:154:in each' [2] pry(#)> attach_file("#{scenario.name} -FAILURE Screenshot", path) #if ENV['ALLURE']=='true' IOError: closed stream from /Users/rv/.rvm/gems/ruby-2.2.0/gems/capybara-2.5.0/lib/capybara/node/actions.rb:154:ineach'

最後に、これはステップ定義ファイルの一つとして起こったことを考え出し取得するデバッグライブラリは、attach_fileメソッドをオーバーライドたカピバラのために含まれていました。

関連する問題