【问题标题】:Watir-webdriver: get screenshot images for all failed scenarios [for Test::Unit]Watir-webdriver:获取所有失败场景的屏幕截图 [for Test::Unit]
【发布时间】:2013-10-21 03:55:59
【问题描述】:

我希望我的测试保存所有失败场景的屏幕截图。

我找到了一篇关于这个问题的好帖子“Watir-webdriver: get same screenshot images for all failed scenarios”,我将 Justin 建议的代码放在了我的 env.rb 中,但效果不佳。我不确定这是不是因为我没有使用 Cucumber?

鉴于我有一个典型的示例测试用例:

require "rubygems"
require "test/unit"
require "watir-webdriver"
require "page-object"
require "./home_page"


class LogInTest < Test::Unit::TestCase
  # Called before every test method runs. Can be used
  # to set up fixture information.
  def setup
    @browser ||= Watir::Browser.new :firefox
  end

  # Called after every test method runs. Can be used to tear
  # down fixture information.

  def teardown
    @browser.close
  end

  # Fake test
  def test_fail
    @home_page = HomePage.new(@browser)
    @home_page.visit
    @log_in_page = @home_page.go_to_log_in
    @all_deals = @log_in_page.log_in("test_user","test_pass")
    assert @browser.title.include? "- hello world"
  end
end

如何创建通用方法将失败测试的所有屏幕截图保存到目标文件夹?

非常感谢您的宝贵时间。

【问题讨论】:

    标签: watir watir-webdriver


    【解决方案1】:

    你是对的,因为它是为 Cucumber 编写的,所以你引用的问题不起作用。但是,同样可以适用于 Test::Unit。

    尝试将您的 teardown 切换为:

    def teardown
      #Save image if test fails
      unless passed?
        #Where to save the image and the file name
        screenshot_file = "screenshot-#{Time.now.strftime('%Y%m%d-%H%M%S')}.png"
    
        #Save the image
        @browser.driver.save_screenshot(screenshot_file)
      end
    
      #Close the browser
      @browser.close
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      相关资源
      最近更新 更多