Ruby 测试上传功率和rspec
我正在尝试使用watir/watirwebdriver在网页上测试上传图片/文档,但我尝试的一切都不起作用 例如,在Imgur上上传图片:Ruby 测试上传功率和rspec,ruby,rspec,watir,watir-webdriver,Ruby,Rspec,Watir,Watir Webdriver,我正在尝试使用watir/watirwebdriver在网页上测试上传图片/文档,但我尝试的一切都不起作用 例如,在Imgur上上传图片: require 'watir' require 'watir-webdriver' require 'rspec' describe "Upload test" do before(:all) do @browser = Watir::Browser.new :firefox @browser.goto("https://i
require 'watir'
require 'watir-webdriver'
require 'rspec'
describe "Upload test" do
before(:all) do
@browser = Watir::Browser.new :firefox
@browser.goto("https://imgur.com/")
end
context "Upload test" do
it "can upload picture" do
@browser.link(:text, "upload images").click
@browser.file_field(:name, "img_path").set("img_path")
@browser.button(:value,"Save").click
end
end
after(:all) do
@browser.close unless debugging?
end
end
有一个错误
Failures:
1) Upload test Upload test can upload picture
Failure/Error: @browser.link(:text, "upload images").click
Watir::Exception::UnknownObjectException:
unable to locate element, using {:text=>"upload images", :tag_name=>"a"}
# /var/lib/gems/1.9.1/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:536:in `assert_element_found'
# /var/lib/gems/1.9.1/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:508:in `assert_exists'
# /var/lib/gems/1.9.1/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:114:in `click'
# ./PROBA.rb:14:in `block (3 levels) in <top (required)>'
Finished in 11.47 seconds (files took 0.19261 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./PROBA.rb:13 # Upload test Upload test can upload picture
故障:
1) 上传测试上传测试可以上传图片吗
失败/错误:@browser.link(:文本,“上载图像”)。单击
Watir::Exception::UnknownObjectException:
无法使用{:text=>“upload images”,:tag_name=>“a”}定位元素
#/var/lib/gems/1.9.1/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:536:in'assert\u element\u found'
#/var/lib/gems/1.9.1/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:508:in'assert\u exists'
#/var/lib/gems/1.9.1/gems/watir-webdriver-0.9.1/lib/watir-webdriver/elements/element.rb:114:在“单击”中
#./PROBA.rb:14:in'block(3层)in'
完成时间为11.47秒(加载文件需要0.19261秒)
1例,1例失败
失败的示例:
rspec./PROBA.rb:13#上传测试上传测试可以上传图片
我曾尝试将其上传到其他网站,但我无法做到。有谁能告诉我使用watir上传文件的正确方法吗?我认为使用“flash”按钮有一些技巧,但我不确定?该错误表示在页面上看不到带有文本“upload images”的链接,这与文件上载无关。 也就是说,如果文本字段已经可见,您应该执行以下操作:
@browser.file_字段(名称:'img_path')。设置@file_path
错误是在页面上看不到与文件上载无关的文本“upload images”链接。
也就是说,如果文本字段已经可见,您应该执行以下操作:
@browser.file_字段(名称:'img_path')。设置@file_路径
您需要确保定位器准确无误。在您的示例中,您针对的是不存在的文本(即没有与“上载图像”文本的链接)
你需要确保你的定位器是准确的。在您的示例中,您针对的是不存在的文本(即没有与“上载图像”文本的链接)
会发生什么?如果抛出错误,请包括stacktrace。另外,链接到
file\u字段的set
方法将目录路径(到图像)作为参数。我现在已经包含了error stacktrace..没有与“上载图像”文本的链接。有一个span,tho:上传图像
和一个带有大写文本的链接:
发生了什么?如果抛出错误,请包括stacktrace。另外,链接到file\u字段的set
方法将目录路径(到图像)作为参数。我现在已经包含了error stacktrace..没有与“上载图像”文本的链接。有一个span,tho:上传图像
和一个带有大写文本的链接:
require 'watir-webdriver'
b = Watir::Browser.new
b.goto('http://imgur.com/')
b.span(text: "upload images").click
# alternately:
# b.div(class: "selection icon icon-arrow-down").click
# b.link(text: "Upload Images").click