2016-02-19 20 views
1

我们使用watir脚本来测试我们的网站。当使用选择标签测试页面时,我们只需单击选择元素,即可在浏览器中看到选项。当我们截图时,输出与我们在浏览器中看到的不匹配 - 选项丢失,而选择框突出显示。Watir屏幕截图 - 选择选项未捕获

我们可以做些什么来使选项元素在屏幕截图中可见?

test_select.html

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <select id="testme"> 
      <option>one</option> 
      <option>two</option> 
      <option>three</option>       
     </select> 
    </body> 
</html> 

test_select.rb:

require 'watir-webdriver' 
b = Watir::Browser.new 
b.goto 'file://'+Dir.pwd+'/test_select.html' 

b.element(:css => 'select#testme').click 
b.screenshot.save 'clicked_select.png' 
+0

Watir仅调用Selenium-Webdriver API进行屏幕截图。据我所知,只有Webdriver没有办法做到这一点(例如[见这个问题](http://stackoverflow.com/q/33818853/1200545))。您将需要使用另一个库来获取屏幕截图(或只是捕获HTML)。 –

+0

谢谢Justin,我们会寻找替代方法来处理这个问题。 –

回答

1

主要思路来设置属性,大小为您选择列表。 这种方法会改变页面的外观,但据我所知它是唯一能够在屏幕截图上查看选项的方法。

require 'watir-webdriver' 
b = Watir::Browser.new 
b.goto 'file://'+Dir.pwd+'/test_select.html' 
options = b.elements(xpath: "//*[@id='testme']/option") 
select_list = b.element(css: 'select#testme') 
size = options.length 
script = "return arguments[0].size = #{size}" 
b.execute_script(script, select_list) 
b.screenshot.save 'clicked_select.png'` 
+0

谢谢Antesser,这为我工作的Firefox。 –