t.me/atinfo_chat Telegram группа по автоматизации тестирования

webdriver screenshot combobox


(aspirin) #1

Всем привет,

может кто сталкивался с проблемой

нажимаю на combobox (dropdown list) выпадает список

делаю скриншот, но на скрине список свернут

как сделать скрин со списком?


(Дмитрий Жарий) #2

Самый простой способ решить проблему -- это заюзать существующий инструмент, который вы можете запустить из теста:

boxcutter


(aspirin) #3

спасибо за ответ, но это не "самый простой" способ

хотелось бы решить проблему иначе


(Mykhailo Poliarush) #4

а можно показать, как вы делаете скриншот? и как выглядит тест, который запускается, т.е. там где комбобокс?


(aspirin) #5

скрин с пом ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);

а на комбо просто кликаю, список открывается. визуально я это вижу. но когда делаю скриншот, то на нем он свернут. хотя в реале это не так


(Mykhailo Poliarush) #6

как делаете понять, только не понятно в какой момент вызывается.
мне кажется, что между действием и снятием скриншота, возможно, что-то происходит потому и получается, что комбобокс закрытый.


(aspirin) #7

а на комбо просто кликаю, список открывается. визуально я это вижу.

дальше вызываю метод снятия скрина и опять же визуально я вижу, что комбо открыт!


(Mykhailo Poliarush) #8

хм... проверил у себя, только на питоне, все работает

{syntaxhighlighter brush: python;fontsize: 100; first-line: 1; }>>> from selenium import webdriver

>>> from selenium.webdriver.support.ui import Select

>>> d = webdriver.Fixrefox()

>>> d = webdriver.Firefox()

>>> d.get(“http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ComboBox/ComboBox.aspx”)

>>> d.find_element_by_id(“ctl00_SampleContent_ComboBox1_TextBox”)

<selenium.webdriver.remote.webelement.WebElement object at 0x02BD95F0>

>>> e = d.find_element_by_id(“ctl00_SampleContent_ComboBox1_TextBox”)

>>> e.send_keys(“123”)

>>> d.get_screenshot_as_file(‘c:/foo.png’)

True

>>>{/syntaxhighlighter}


можете написать подобный код на java у себя и проверить?


(aspirin) #9

e.send_keys("123")

а где сам дропдаун?

чтоб комбо выпал?


(Mykhailo Poliarush) #10

надо было использовать Select класс, мне просто не хотелось его писать

send_keys сработал, потому дальше и не писал :)

но факт в том, что список открылся и я сделал скриншот и скриншот показал открывшийся список