Перейти к содержимому

Публикации sawoy

18 публикаций создано sawoy (учитываются публикации только с 20 апреля 2023)


#120207 C# Создание подключения по RDP

Отправлено автор: sawoy 23 июля 2013 - 17:41 в Автоматизированное тестирование

Привет!

Почему просто не запустить на машине tigthvnc server и залогиниться через viewer на машине ?
Или нужно использовать именно программное, а не конфигурационное решение?



#118407 Хитрая загрузка файла

Отправлено автор: sawoy 03 июня 2013 - 08:25 в Selenium - Functional Testing

Привет!

А в чем проблема вызвать явно onchange евент для этого элемента ? Ведь уже все равно произошло вмешательство в страницу.

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



#118406 Вопрос к профи по Selenium Grid

Отправлено автор: sawoy 03 июня 2013 - 08:22 в Selenium - Functional Testing

Привет!

Использую Selenium Grid. Запускаю 4 узла на разных VM. Понеслось...На всех четырех нодах начали выполняться тесты. Через какое то время, 3 из них прекращают свою работу. Ноды, вместо выполнения теста пишут INFO - Done: /status (работают, но ничего не делают) В консоли хаба значки браузера подсвечены, так, будто узлы заняты (будто на них что то выполняется). Хотя по факту выполняются только на одном. Потом, еще через какое то время тот нод, единственный, на котором выполнялись тесты также останавливается, и тесты начинают выполняться уже на другом ноде, который "стоял"..Что за чепуха? Почему сначала работали все 4, а потом только 1, и то попеременно?


для меня это выглядит так:
1. тесты нормально начинают выполняться на всех нодах
2. на 3 нодах по какой то причине отваливается браузер или что-то еще, но сессия некоторое время не теряется (хаб ждет таймаута)
3. на последней ноде тоже отваливается браузер или что-то еще, снова ждется таймаут. При это другие ноды уже "освободились" и хаб перенаправляет исполнение на них

так что:

1. нужно понять почему падает исполнение теста - смотрите логи java ноды (-debug или адже так может быть видно)
2. для более ясного понимания желательно иметь полный набор информации - логи, тесты, конфигурация грида


P.S.: "В консоли хаба значки браузера подсвечены" - и что показывается при наведении мыши на значки браузеров - какая команда выполнялась последней ?



#116383 IE driver вопросы

Отправлено автор: sawoy 28 марта 2013 - 15:48 в Selenium - Functional Testing

getLastElement() возвращает последний элемент?
По-моему, никто не гарантирует порядок хэндлов в списке.
Лучше искать разность наборов до и после.

Может дело в этом.

Ну и самое простое проверить - помогает ли sleep: если да, то мы просто надо дождаться изменив условие,
если нет - дело в чем-то другом.



#116365 Сохранение куки во время работы Firefox

Отправлено автор: sawoy 28 марта 2013 - 09:38 в Selenium - Functional Testing

Немного уточню ответ @player1:

Даже если вы указываете уже существующий профиль FF, то,
как при использовании webdriver в local так и remote режимах,
профиль создается во временной папке на основе переданного Вами.

Соответственно при сохранении cookies и т.п. они сохраняются в этом временном профиле, а не в Вашем переданном.



#116364 IE driver вопросы

Отправлено автор: sawoy 28 марта 2013 - 09:17 в Selenium - Functional Testing

Ключевые слова - "IE Jenkins Hudson".

http://software-test...h__1#entry96979
http://software-test...h__1#entry86981



#116209 Python+selenium

Отправлено автор: sawoy 25 марта 2013 - 09:45 в Автоматизированное тестирование

Какой именно элемент не находит - кнопку или сам див ?
Текст ошибки и эксепшн какой?

Попробуйте:

div = driver.find_element_by_id("div_zfzMRJxiSIu")
div.click()
// если элемент динамический, то найдите его снова
// div = driver.find_element_by_id("div_zfzMRJxiSIu")
button = div.find_element_by_xpath(".//button[@type='button']")
button.click()



#115883 Selenium getText. Как достать текст только из родительского узла?

Отправлено автор: sawoy 18 марта 2013 - 02:06 в Selenium - Functional Testing

Подтверждаю, должно работать.
...


Присоединяюсь к вопросу Jumper-amper.

Алексей, а где именно это должно работать?
В RC или WD? Или в обоих?

Просто на данный момент WD в 4 из 5 драйверах поиск текстовой ноды возвращает ошибку
NoSuchElemenException или InvalidSelectorException.
Питоновский тест прикреплен.

Или я неправильно ищу текстовую ноду?

Прикрепленные файлы

  • Прикрепленный файл  t.txt   1,3К   8 Количество загрузок:



#115882 Сложный xpath запрос

Отправлено автор: sawoy 18 марта 2013 - 00:58 в Selenium - Functional Testing

Rinss,

как Вы можете видеть обычно label связан с другим элементом через
атрибут for, значением которого должен быть id связанного элемента.

Соответственно, xpath запрос будет выглядеть так:

id(//label[text()='<text of label>']/@for)



#115881 Как убить IEDriverServer на хабе

Отправлено автор: sawoy 18 марта 2013 - 00:29 в Selenium - Functional Testing

Привет.

Как и указано в http://code.google.c.../detail?id=4288
простейшее и работающее решение - это обертка всего кода теста в
try { ... } catch { ... } finally { driver.quit() }

Если же тестовый фреймворк реализует метод типа tearDown()/onError/onFailure/...,
то проще вынести вызов driver.quit() в него.

В особых сверх редких ситуациях может потребоваться форсированный kill
драйвера и браузера. Тогда придется реализовать:
* получение адреса ноды по текущей сессии
* логин на ноду по ее адресу
* kill драйвера и браузера.
Все это нужно сделать кросплатформенно (если ноды разные), безопасно для других сессий на ноде и т.п.,
что сложно.

В большинстве же ситуаций проще вообще ничего не делать, кроме увеличения максимального количества
одновременных сессий (maxSession) и изменения таймаута,
после которого неактивная сессия убивается хабом (browserTimeout).



#115880 Получение text object.

Отправлено автор: sawoy 18 марта 2013 - 00:11 в Selenium - Functional Testing

Привет.

Можно попробовать найти text nodes c помощью xpath:

js = """
var elements = document.evaluate("//div[@id='hide_block253']/text()", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var r = [];
for (var i = 0; i < elements.snapshotLength; i++) {
  r.append(elements[i].nodeValue);
}
return r;
"""
driver.execute_script(js)

но это решение не кроссбраузерное, например в ие9 не работает.

Другой вариант - найти div с помощью getElementById или подобного
и обойти у него все childNodes и т.д. Это повлечет за собой собственную реализацию
кроссбраузерного js кода.

Следующая итерация - загрузка какой-либо js библиотеки, реализующей поиск элемента,
и ее использование.

Более корректное и простое решение, по-моему, это, используя selenium, найти элемент,
получить его текст и распарсить, зная то, что каждый кусок начинается с channel.

Желательно было бы узнать требование или постановку задачи,
которая привела к необходимости доступа к text node.



#112342 Selenium WD: class = list

Отправлено автор: sawoy 28 ноября 2012 - 08:00 в Selenium - Functional Testing

Привет.


1. my_name - не css свойство, а аттрибут.
2. код:
st_num = len(driver.find_elements_by_xpath("//ul[@id='myId']/li"))
for x in range(lst_num):
    lst.append(driver.find_element_by_xpath("//ul[@id='myId']/li[@class='girl_name']").value_of_css_property('my_name'))

я бы преобразовал с учетом 1 пункта в:
elements = driver.find_elements_by_xpath("//ul[@id='myId']/li[@class='girl_name']")
my_names = [element.get_attribute("my_name") for element in elements]



#109541 Watir/Selenium2 Ничего не происходит при клике на элементе внутри ifra

Отправлено автор: sawoy 10 сентября 2012 - 10:57 в Selenium - Functional Testing

привет.

Попробуй вызвать для этого элемента аналог getLocationOnScreenOnceScrolledIntoView в ruby binding.
показывает ли он корректные координаты элемента?

Является ли этот фрейм внешним?
Взгляни на баги:
* https://code.google..../detail?id=4389
* https://code.google..../detail?id=4390

Ну и, естественно, интересно узнать версию watir, selenium.



#108437 Webdriver (C#) + Grid: Некорректно работает SendKeys

Отправлено автор: sawoy 08 августа 2012 - 20:48 в Selenium - Functional Testing

Попробуйте локализовать проблему - покореженные данные приходят на ноду или проблема именно при выполнении теста в драйвере. Для этого можно использовать -debug параметр при запуске ноды для включения логирования.

Также попробуйте включить или отключить nativeEvents: через capability (https://code.google....redCapabilities) или webdriver.enable.native.events
(https://code.google....i/FirefoxDriver).

Кстати, повторяется ли проблема при параллельном запуске не через грид, а локально?

В общем, лучше всего выделить минимальный по размеру кода и используемым библиотекам тест, который повторяет проблему
и создать баг в https://code.google....ium/issues/list



#108181 IE Driver addCookie

Отправлено автор: sawoy 31 июля 2012 - 20:23 в Selenium - Functional Testing

standalone? То есть grid2? Как запускается селениум - нода, хаб?
Можете предоставить минимальной код для повторения проблемы?

Повторяется ли проблема при использовании локально InternetExplorerDriver?

Можете запустить код с дебагом https://gist.github.com/3176482 ?



#108180 Webdriver (C#) + Grid: Некорректно работает SendKeys

Отправлено автор: sawoy 31 июля 2012 - 20:15 в Selenium - Functional Testing

Привет,

с проблемой не сталкивался.
Но судя по тому, что в строке m`ym^ail'@domain.ru символы добавляются, а не заменяются предположу что-то пишут (посылает события) одновременно с selenium.
Какой драйвер используется?
можно подробнее о "Тесты запускаются через через MbUnit в 4 потока (Grid)" ?
Что-то исполняется параллельно с selenium на ноде?



#108087 IE Driver addCookie

Отправлено автор: sawoy 29 июля 2012 - 09:14 в Selenium - Functional Testing

Какая версия селениума?

Кроме protected mode на это может влиять какой именно браузер по умолчанию установлен в системе - https://code.google..../detail?id=4307
Какой у Вас браузер по умолчанию?



#107897 Помогите новичку

Отправлено автор: sawoy 23 июля 2012 - 18:38 в Selenium - Functional Testing

Все правильно делаете. Теперь после:

WebDriver driver = new InternetExplorerDriver();

откройте какой-нибудь сайт, например:

driver.get("http://ya.ru");

работает?