Tag: watir

如何通过坐标(使用WebDriver)单击canvas中的特定元素?

我的页面上有一个canvas元素,我想点击这个canvas中的特定(x,y)坐标。 我用watir-webdriver: element = browser.driver.find_element(:id, ‘canvas’) browser.driver.action.move_to(element).move_by(x, y).click().perform 但是这段代码只是点击canvas的中心,而不是指定的(x,y)坐标。 这有什么问题? UPD:现在我使用这段代码: element = browser.driver.find_element(:id, ‘canvas’) browser.driver.action.move_to(element, x, y).perform browser.driver.click.perform 但它仍然点击canvas的中心而不是指定的(x,y)坐标……有什么想法吗? UPD 2:这只是FIREFOX问题(适用于Chrome)

如何在Watir中获取HTML中具有相同属性的元素数量?

我有一个HTML文档,其中包含具有相同类名的元素。 我可以对页面中的所有元素进行迭代,并使用列表中具有类名的元素进行存储。 在Watir中有更好的方法来计算具有相同类名的所有HTML元素吗? 这个问题在XML类型中具有相同属性的元素计数解决了这个问题,但我有两个与此相关的查询 如果HTML文档不是严格的XHTML文档怎么办? 如果不同类型的HTML元素具有相同的类,会发生什么? 示例HTML文件可以是: 具有相同类名的相同类型的元素 具有相同类名的不同类型的元素 Text 先谢谢你,伙计们

将select_list选项转换为watir-webdriver中的字符串数组?

我需要检查选择列表下拉列表的内容,这取决于另一个字段中的值。 我正在将有效选项读入CVS字段中的字符串数组,并通过执行以下操作进行比较; selectContent = [] $browser.select_list(:id,”srch-status-select”).options.each {|option| selectContent << option.text} assert_equal(validContent,selectContent,"Status drop down has wrong values") 这是正确的还是现有的select_list方法进行类似的转换?

如何使用watir滚动网页

我正在尝试滚动网页以查找并单击滚动页面时延迟加载的内容。 我正在使用以下命令 require ‘watir-webdriver’ @browser = Watir::new :firefox @browser.send_keys :space 我正在使用firefox的web驱动程序,我在ubuntu但它不工作。 在下面的ruby代码中,我试图向下滚动页面,直到我找不到带有:id的元素。 该元素懒洋洋地加载。 我几秒后就会超时,不知道下面的代码有什么问题。 When /^deal (\d+) is loaded$/ do |id| (0..5).each do |click| @browser.send_keys :space end end 使用watir-driver滚动页面的最佳方法是什么?

如何使用watir在弹出窗口中输入密码?

我正在写一些watir测试用例: browser.goto “http://egauge2592.egaug.es/” browser.link(:href,”/settings.html”).click browser.text_field(:index,4).set(“some text”) browser.button(:id,”save_button”).click 然后打开“需要validation”对话框,询问用户名和密码。 无论我怎么试,我都无法访问文本字段。 我试过send_keys和JavaScript。 我也试过Watir.autoit但它说未定义的方法。 我在使用FireFox浏览器的Ubuntu机器上使用watir。 如何填写该对话框的用户名和密码字段? 我能够使用browser.alert.set输入用户名,但只能设置用户名无法访问密码字段。

将ruby脚本编译成exe?

可以在Windows上将ruby脚本编译成.exe吗? 我到处搜索过,我尝试了以下内容(看起来像RubyScript2EXE,鞋子和箱子似乎都死了或被遗弃了。): http://ocra.rubyforge.org/ http://exerb.sourceforge.jp/index.en.html 我在一个干净的系统上使用Windows 7旗舰版(64位)上的Ruby 1.8.7我这样做: 从rubyinstaller.org安装RubyInstaller 1.8.7-p358 gem安装watir gem安装ocra git clone git://github.com/snaury/exerb-mingw.git cd exerb-mingw ruby setup.rb 我有一个相当简单的脚本来执行此操作: require ‘rubygems’ require ‘watir’ browser = Watir::Browser.new browser.goto ‘http://slashdot.org’ 当我运行Ocra时,我没有收到任何错误消息,也没有任何反应: ocra –output test.exe test.rb === Loading script to check dependencies Exerb似乎是一个更好的解决方案,因为它编译为rbc,它确实做了一些事情: ruby -r exerb/mkexy test.rb # Window pops up and after I close it it writes […]

FireWatir TextField设置:非常慢

在ruby中调用text_field的set方法时,在浏览器中以非常慢的速率输入文本,大约为1个字符/秒。 环境信息: Ubuntu 10.10 FireFox 3.6.13 JSSh 0.9 Ruby 1.9.2p136 FireWatir 1.7.1 好心劝告。 提前致谢。

如何在Watir-WebDriver中关闭PhantomJS的日志记录?

我在我的ruby(1.8)watir代码中看到了很多PhantomJS的日志信息,即INFO消息。 我该如何关闭它? 我从谷歌搜索获得了Java代码,但没有得到ruby代码。 Java PhantomJSDriver禁用控制台中的所有日志 PhantomJS is launching GhostDriver… [INFO – 2015-01-27T10:00:00.000Z] GhostDriver – Main – running on port 8910 [INFO – 2015-01-27T10:00:00.000Z] Session [30344df0-a7de-11e4-9220-5bf7aac4a098] – _decorateNewWindow – page.settings: {“XSSAuditingEnabled”:false,”javascriptCanCloseWindows”:true,”javascriptCanOpenWindows”:true,”javascriptEnabled”:true,”loadImages”:true,”localToRemoteUrlAccessEnabled”:false,”userAgent”:”Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.34 (KHTML, like Gecko) PhantomJS/1.9.1 Sa fari/534.34″,”webSecurityEnabled”:true} [INFO – 2015-01-27T10:00:00.000Z] Session [30344df0-a7de-11e4-9220-5bf7aac4a098] – page.customHeaders: – {} [INFO – 2015-01-27T10:00:00.000Z] Session [30344df0-a7de-11e4-9220-5bf7aac4a098] […]

RUBY / WATIR / RASTA:将excel / rasta中的值传递给Ruby中的数组?

如何将excel / rasta中用逗号分隔的值传递给Ruby中的数组。 HTML看起来像这样,…. Burger Pasta Fries … EXCEL看起来像这样…… 命令 汉堡,意大利面 这段代码不起作用 attr_accessor :orders order = [@orders] order.each do |i| ……. …….. ruby应该看起来像这样…… attr_accessor :orders orders = [ ‘burger’,’pasta ‘] *#should pass data from excel in the array “**orders**” orders.each do |i| @browser.checkbox(:text => i).click @browser.button(:name => ‘save’).click end 那么我如何将excel中的值传递给数组呢? 对不起,我还在学习Ruby:|

设置一个包含JQuery掩码的文本字段

使用watir-webdriver,我试图设置文本字段的值。 browser.text_field(:id, “phoneNumbers_value_input”).set(“5555551234”) 当我运行该命令时,我可以看到watir找到了该字段,因为光标在该字段上设置但是没有输入文本。 我也尝试过send_keys和append命令,但似乎没有任何工作。 这些方法不会抛出exception。 我在这个字段和页面上的其他字段之间找到的唯一区别(一切正常)是它上面有这个JQuery掩码。 $(selector).mask(“(999) 999-9999”); 有关如何设置文本字段的任何想法? 编辑: 一些更多的Javascript: selector = ‘#’ + id(field.id) + ‘_input’; if (field.format == ‘phone’) { $(selector).mask(“(999) 999-9999”); } 该字段的HTML: phone