我已将屏幕截图设置为在场景失败时截取,但我的html报告在所有失败场景中显示相同的屏幕截图。谁能帮助我,让我知道如何为每个失败的场景截取独特的屏幕截图。这是我在env.rb中的代码:Afterdo|scenario|ifscenario.failed?@browser.driver.save_screenshot("screenshot.png")embed("screenshot.png","image/png")end 最佳答案 您每次都将屏幕截图保存到同一个文件(即每次都覆盖之前的屏幕截图)。该报告还将所有图像链接到同一个地方
Status :Registered我想做这个if(cell.text==like(status))puts"yes"end实际上在我的表中有随机的tr和td,所以我想获取td的文本,其中有状态文本。因为它是固定的并且“已注册”文本可能会更改。所以在%status%的基础上我想选择td。 最佳答案 可以通过正则表达式定位元素:browser.td(:text=>/^Status/) 关于ruby-如何从wa
我正在使用watir-webdriver(0.6.4)gem编写一个Ruby(1.9.3)脚本(我的第一个)。我使用它以设定的时间间隔打开网站,发布一些数据,然后查看页面上是否出现文本值。如果我只是想在页面加载后寻找“hello”这个词,我可以使用这个命令:Watir::Wait.until(timeout=10){b.text.include?'hello'}但是,我正在寻找“你好”这个词或“再见”这个词,所以在功能上我想这样做:Watir::Wait.until(timeout=10){b.text.include?'hello'orb.text.include?'goodbye'
我知道可以将phantomJS与Watir-Webdriver一起使用,但是在我决定使用(默认)headless模式之前,是否有一些“模式”可以传递给它以实际查看它在做什么? 最佳答案 不确定模式,但你可以试试这个:require'watir-webdriver'b=Watir::Browser.new:phantomjsb.screenshot.save'step1.png'b.goto"www.google.com"b.screenshot.save'step2.png'b.url#"http://www.google.com/
我正在尝试使用watir-webdriver访问网站,但我似乎无法在watir中找到我可以在Firefox+Firebug中看到的文本框。我的代码是require'rubygems'require'irb/completion'require'watir-webdriver'browser=Watir::Browser.new(:firefox)browser.goto('http://emersonecologics.com/')browser.text_field(:name,"txtEmail").set("myemail@gmail.com")我得到错误:Watir::Exce
以下工作但总是很慢,似乎停止了我的抓取程序及其Firefox或Chrome浏览器甚至整整几分钟每页:pprecArray=$browser.table(:id,"recordTable").to_a虽然获取HTML表格的文本或html源代码很快:htmlcode=$browser.table(:id,"recordTable").html#.textshowsonlyplaintextportionlikelynx我怎样才能创建相同的recArray(来自的每个元素),例如使用仅包含该表的html的Nokogiri对象?recArray=Nokogiri::HTML(htmlcode)
hellotabledata.rows.eachdo|row|row.cells.eachdo|cell|putscell.textendendputs"end"获取输出->helloend我应该为这样的输出做些什么->helloxyz.pngend不使用Nokogiri。 最佳答案 获取属性您可以使用Element#attribute_value方法获取元素的属性。例如,element.attribute_value('属性')对于许多标准属性,您还可以:元素.属性输出单元格文本或图片文本假设一个单元格有文本或图像:您可以遍历单元
我使用watir-webdriver/MiniTest框架已经不到一个月了,而且进展非常顺利。然而,每次启动新构建时我都需要运行的包包含将近100个单独的测试,需要一个多小时才能完成所有测试。这就是我在Centos-6-x86_64上使用Ruby、RVM、Watir、Rails和Firefox设置VPS的原因。这样我就不必在我的笔记本电脑上运行脚本并等待它们完成后再做其他事情。但是,当我尝试使用irb测试watir是否正常工作时,出现以下错误:Errno::EAFNOSUPPORT:Addressfamilynotsupportedbyprotocol-socket(2)测试:[roo
如何使用Watir返回下拉列表中当前选定项目的文本?getSelectedItems似乎已被弃用。 最佳答案 改用selected_options()。selected_options()Description:Getsalltheselecteditemsintheselectlistasanarray.Anemptyarrayisreturnediftheselectboxhasnoselecteditem.Output:Arraycontainingtheselecteditemsoftheselectlist.Source
我正在使用Ruby,并且正在使用Watir的最新gem版本。我打算使用headless浏览器,例如PhantomJS。执行时如何将参数传递给PhantomJS浏览器。我的目的是让PhantomJS不需要加载图片。 最佳答案 如PhantomJScommandlinepage中所述,有一个选项可以控制图像的加载:--load-images=[true|false]loadallinlinedimages(defaultistrue).Alsoaccepted:[yes|no].在Watir::Browser的初始化过程中,可以在:ar