gpt4 book ai didi

rspec - watir-rspec 记者的自定义屏幕截图

转载 作者:行者123 更新时间:2023-12-01 10:07:53 25 4
gpt4 key购买 nike

我正在从带有 rspec 的 watir-webdriver 迁移到 watir-rspec(变化不大)。但现在我想利用记者将我拍摄的截图与截图 gem 联系起来。我正在努力解决如何做到这一点,我不想使用标准屏幕截图,因为我有另一个辅助函数可以对图像进行一些处理,而屏幕截图 gem 允许我获取特定元素的屏幕截图。

在 watir-rspec 文档中它声称我们只需添加这三行,但我不确定在哪里以及如何更改它以适应我的自定义图像生成。

uploaded_file_path = Watir::RSpec.file_path("uploaded.txt")
File.open(uploaded_file_path, "w") {|file| file.write "Generated File Input"}
file_field(:name => "upload-file").set uploaded_file_path

最佳答案

向报告添加文件链接是通过使用 Watir::RSpec.file_path 方法完成的。基本上你:

  1. 调用 file_path 方法,该方法告诉报表添加链接并返回预期文件的路径。
  2. 使用 file_path 返回的路径创建文件,在本例中为屏幕截图。

在以下示例中,After Hook 显示了如何使用 file_path 方法添加链接:

require_relative "spec_helper"

describe "Google" do
before { goto "http://google.com" }

it "allows to search" do
text_field(:name => "q").set "watir"
button(:id => "gbqfb").click # This will fail to locate the element
results = div(:id => "ires")
results.should be_present.within(2)
results.lis(:class => "g").map(&:text).should be_any { |text| text =~ /watir/ }
results.should be_present.during(1)
end

after do
# Call Watir::RSpec.file_path to:
# 1. Tell the report to add a link
# 2. Determine the file path/name the report will link to
screenshot_file_path = Watir::RSpec.file_path("custom_screenshot.jpg")
#=> "C:/Scripts/Misc/Programming/watir-rspec/spec/tmp/spec-results/custom_screenshot_104027_1_1.jpg"

# Create the screenshot to the path specified in screenshot_file_path
# This would be dependent on your screenshot gem
end
end

有几个限制:

  1. 链接的图像应该在结果文件夹中。
  2. 链接的图像应具有特定的生成名称。
  3. 虽然您始终可以创建屏幕截图,但只有在测试失败时才会将其链接到报告。
  4. 默认的截图链接也将存在。

关于rspec - watir-rspec 记者的自定义屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28985347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com