页面上有2个图像具有相同的图像src链接.如果我使用以下代码,它将单击第一个图像,那么如何单击第二个图像?
browser.image(:src, "https://itc.mzstatic.com/itc/images/btn-grey-small-edit.png").click
Run Code Online (Sandbox Code Playgroud) 我有一个简单的watir(网络驱动程序)脚本进入谷歌.但是,我想使用选项解析器在cmd中设置一个参数来选择一个浏览器.以下是我的脚本:
require 'optparse'
require 'commandline/optionparser'
include CommandLine
require 'watir-webdriver'
describe 'Test google website' do
before :all do
options = {}
opts = OptionParser.new do |opts|
opts.on("--browser N",
"Browser to execute test scripts") do |n|
options[:browser] = n
$b = n.to_s
end
end
opts.parse! ARGV
p options
end
describe 'The test website should be displayed' do
it 'should go to google' do
$ie = Watir::Browser.new($b)
#go to test website
$ie.goto("www.google.com")
end
end
end
Run Code Online (Sandbox Code Playgroud)
执行rspec ietest.rb --browser firefox -f doc只是给了我无效选项,ietest是我文件的名称.任何其他直观的方式通过Web驱动程序设置浏览器,而不改变脚本代码,将是受欢迎的.
在我正在测试的网页上,当用户单击选择列表中的选项时,将进行GET调用.GET看起来像这样:
GET /mediaportal/captions/SCH/Follow%20Up%20with%20the%20Robles%20Family_SCH.xml
Run Code Online (Sandbox Code Playgroud)
如何告诉Ruby监听GET请求并捕获它,或者更具体地说,捕获并将上面GET中请求的url放入变量中.
(我正在使用watir-webdriver gem,我希望那里有一些东西可以让我这样做.)
有没有办法用Watir定位可见元素?
我想只找到可见的表单(通过索引参数),以便Watir返回第一个或第二个可见文本字段.
如何过滤不可见的字段/元素?用xpath可以做到吗?
作为我们Watir测试套件的一部分,我们正在验证数据表.其中一个要求是特定列必须为空(除非选择了特定的单选按钮)所以在我的脚本中,我有以下代码
incidents = browser.table(:xpath, Xpath_CC).strings
Run Code Online (Sandbox Code Playgroud)
浏览器是watir-webdriver浏览器对象在事件中提供我的这个2d数组
[["DateTime", "Problem", "Value", "Compared", "Number", "Causes", "Where", "Count", "Type"],
["May 07, 02:15 - 02:30", "Web", "38.46 %", "", "1", "UNKNOWN", "", "1", "J105"],
["May 07, 02:15 - 02:30", "Video", "40 %", "", "1", "UNKNOWN", "", "1", "J105"],
["May 07, 02:00 - 02:15", "Email", "30 %", "", "1", "UNKNOWN", "", "1", "J105"],
["May 07, 01:00 - 01:15", "Email", "70 %", "", "1", "UNKNOWN", "", "1", "J105"],
["May 07, 01:00 - 01:15", "Email", "70 %", "", …
Run Code Online (Sandbox Code Playgroud) 我试图匹配网站中的元描述,但无法通过HTML实体.我试过逃避角色和其他一些组合.如果您尝试匹配没有实体的文本区域,则没有问题.任何帮助都是适用的.
require "rubygems"
require "watir-webdriver"
include Watir
b = Watir::Browser.new :chrome
b.goto('http://dev01-new.firestonecompleteautocare.com/cf/oil-change/motor-oil-and-your-car')
if b.metas.any?{ |s| s.html.include? "Ever wonder what color your engine oil should
be, or what affect temperature may have on it? Learn the answers to these
frequently asked questions & more, here." }
puts 'Yes'
else
puts 'No'
end
b.close
Run Code Online (Sandbox Code Playgroud) 到目前为止我有这个:
require 'watir-webdriver'
require 'date'
require 'nokogiri'
browser = Watir::Browser.start 'https://example/ViewReport.aspx'
browser.link(:text, 'Combined Employee Performance Report').click
today = Date.today
yesterday = today.prev_day.strftime('%m' '%d' '%Y')
t = browser.text_field :id => 'UC255_txtStart'
t.set yesterday
t = browser.text_field :id => 'UC255_txtEnd'
t.set yesterday
btn = browser.button :value, 'Run Report'
btn.exists?
btn.click
page = Nokogiri::HTML.parse('browser')
links = page.css("a")
puts links.length
Run Code Online (Sandbox Code Playgroud)
当我尝试解析browser
Watir用于站点URI的变量时,它给了我一个空白的HTML页面.
我用chromedriver使用watir webdriver gem.我知道(https://code.google.com/p/chromedriver/issues/detail?id=9#c25)在chromedriver的新版本2.1中有一个特殊的页面加载超时.如何从ruby代码中设置它?
我正在尝试使用Watir Webdriver在Firefox中创建其他选项卡。但是我运气不好
打开浏览器后:
require 'watir-webdriver'
b =Watir::Browser.new
我想打开标签页,但一直无法弄清楚如何访问浏览器上的“打开新标签页”按钮。那我该如何创建一个新标签页呢?
用户操作后,Web应用程序始终使用此div.我的测试脚本有这一行.逐字逐句.
@browser.div(:id => 'loading-indicator').wait_while_present
Run Code Online (Sandbox Code Playgroud)
在任何地方明确地包括这条线是可以的,但是丑陋和重复.
使用wait_until_present
与下一元素(" foo
负载指示后"),有时会工作.然而,在某些情况下foo
和负载指示同时存在,但foo
不是visible?
直到负载指示消失.
有没有办法,或许在env.rb
,向watir-webdriver表明它应该始终wait_while
存在这个元素?
watir-webdriver ×10
watir ×9
ruby ×7
webdriver ×2
cucumber ×1
elements ×1
nokogiri ×1
optionparser ×1
pageobjects ×1
rest ×1
rspec ×1
selenium ×1
unit-testing ×1
web-scraping ×1