2016-02-19 3 views
1

Мы используем скрипты watir для тестирования нашего сайта. При тестировании страниц с выделенными тегами, мы видим, что элемент click выбираем и видим отображение параметров в браузере. Когда мы снимаем скриншот, результат не соответствует тому, что мы видим в браузере - параметры отсутствуют, вместо этого выделяется окно выбора.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 только вызывает API Selenium-Webdriver для снятия скриншотов. Насколько мне известно, нет способа сделать это с помощью только Webdriver (например, [см. Этот другой вопрос] (http://stackoverflow.com/q/33818853/1200545)). Вам понадобится использовать другую библиотеку для снятия скриншота (или просто захвата HTML). –

+0

Спасибо Джастину, мы будем искать альтернативные способы борьбы с этим. –

ответ

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

Спасибо Антессер, что сработало для меня с Firefox. –