2016-02-19 38 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。 –