我正在使用Ruby和Cucumber对Web应用程序进行功能测试。我正在使用watir-webdriver来驱动网络浏览器。我的Web应用程序有一个导航菜单,其中包含一个导航链接,当鼠标悬停在该链接上时会显示一个选项菜单。我正在尝试使用watir-webdriverelement.hover方法来触发悬停事件。Rubygems中的watir-webdriver版本目前似乎不包含thiscommit然而,为了向元素添加悬停事件,我猴子修补了元素类以添加此功能。在我的Mac上运行我的测试时,使用Chrome,一切都很好。悬停甚至被触发,我可以单击显示的结果菜单中的链接。然而,当我在同事的W
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。在Windows或Linux平台上,是否有一个GUI自动化工具可以打开浏览器页面(任何浏览器,我不在乎),然后单击特定图标图像的每个实例,无论它在哪里在页面上,无论它存在多少次。我似乎记得IBM的RationalRobot中的这种能力。对于身无分文的人(哦,是的......和道德上的优越者:-))是否有开源替代品编辑:我希望能够单击特定的位图或像素矩形,
对于在Windows上并行运行cucumber场景我可以做什么/使用什么有什么想法吗?到目前为止,我已经尝试过(结果如下):WatirGrid必须使用Ruby线程才能实际“并行”运行。这迫使我们将浏览器对象包装在一个线程中,因此一旦线程block关闭就无法访问。(不能传递浏览器对象到cucumber环境)九头蛇:需要SSH(和公钥)访问远程盒子(即没有Windows)Selenium网格:super重,找不到清晰的Cucumber测试路径测试日志:需要Bonjour(不适用于Windows) 最佳答案 关于Watirgrid...此
我有一个页面是这样的:当我转到页面并单击链接时:require"watir-webdriver"browser=Watir::Browser.newbrowser.goto"page.html"browser.button.click出现确认弹窗。我可以这样驳回它:require"watir-webdriver/extensions/alerts"browser.confirm(true){browser.button(:value=>'Confirm').click}但我收到此错误消息:[remoteserver]file:///var/folders/yx/bz_81fc143b4
我们在Rails应用程序中使用RSpec和Cucumber,并取得了不错的效果。Webrat非常适合非AJAX交互,但我们正准备重新开始为我们的Javascript编写测试。Webrat内置了Selenium支持,我们之前使用过Selenium,但我很好奇是否有人将Watir与Cucumber结合使用取得了良好的效果,以及Watir与Selenium的优缺点。 最佳答案 作为OpenQA和SeleniumRC的创始人,我显然偏向于将Selenium作为一个不错的选择。我们最近刚刚发布了1.0beta2版本,并且非常接近1.0最终版本
系统:窗口7浏览器8ruby1.8瓦提尔1.6.5如果我手动打开一个浏览器窗口,然后访问一个导致第二个浏览器窗口打开的站点,然后使用Watir::IE.attach方法找到第二个浏览器窗口,一切正常。问题是当我使用命令Watir::IE.new打开第一个InternetExplorer窗口,然后访问导致第二个浏览器窗口打开的站点时。当我使用Watir::IE.attach查找第二个浏览器窗口时,我现在得到:Watir::Exception::NoMatchingWindowFoundException:无法定位标题为(?-mix:x)的窗口来自/ie-class.rb:297:in'a
我想查询我的数据库并获取结果并将它们导出到.txt、.cvs或.xlsmysql数据库没有托管在我的本地机器上这是我访问数据库并在屏幕上返回结果的代码:#!/usr/bin/rubyrequire'mysql'require'watir'require"win32ole"excel=WIN32OLE::new('excel.Application')workbook=excel.Workbooks.Addworksheet=workbook.Worksheets(1)mysql=Mysql.init()mysql.connect(host='hostname',user='userna
我今天开始遇到吨这些错误:Net::ReadTimeout(Net::ReadTimeout)/usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:158:in`rescueinrbuf_fill'/usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:152:in`rbuf_fill'/usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:134:in
我今天开始遇到吨这些错误:Net::ReadTimeout(Net::ReadTimeout)/usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:158:in`rescueinrbuf_fill'/usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:152:in`rbuf_fill'/usr/local/rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:134:in
我有一个运行Rails应用程序的docker容器(我们称之为容器A),它需要使用Firefox作为后端使用watirwebdriver进行一些抓取。我在另一个容器(容器B)中安装了firefox,我希望能够在容器A中传递类似:Selenium::WebDriver::Firefox::Binary.path=$DOCKER_RUN_CONTAINER_A因此,每次watir启动firefox时,一个新的CONTAINER_A实例都会启动一个新的firefox。我知道让容器使用端口进行通信很容易,但是可执行文件呢?而且,顺便说一句,将Firefox隔离在一个单独的容器中看起来是不是一个不