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

Публикации TatyanaV

72 публикаций создано TatyanaV (учитываются публикации только с 29 марта 2023)



#174014 Python + Selenium + Press Keyboard(Enter)

Отправлено автор: TatyanaV 15 октября 2019 - 08:22 в Автоматизированное тестирование

Может что-то вроде driver.switch_to.alert.accept() ?




#173174 Проблема снятия скриншота при UnhandledAlertException

Отправлено автор: TatyanaV 02 августа 2019 - 07:10 в Автоматизированное тестирование

 

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

Как вариант - пройтись дебаггером, чтобы четко отловить, на какой конкретно строчке "падает", почему не попадает в catch (может там не UnhandledAlertException, а какой-то другой эксепшн тест фейлит).

Ещё вариант, сделать catch (Exception e) и там первым делом выводить e.printStackTrace() (самостоятельно выведет в лог) или e.getLocalizedMessage() (просто текст, выводить в лог надо вручную).

Татьяна, большое спасибо!

Проблему решил, вставив закрытие алерта непосредственно перед снятием скриншота.

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

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




#173106 Проблема снятия скриншота при UnhandledAlertException

Отправлено автор: TatyanaV 30 июля 2019 - 07:05 в Автоматизированное тестирование

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

Как вариант - пройтись дебаггером, чтобы четко отловить, на какой конкретно строчке "падает", почему не попадает в catch (может там не UnhandledAlertException, а какой-то другой эксепшн тест фейлит).

Ещё вариант, сделать catch (Exception e) и там первым делом выводить e.printStackTrace() (самостоятельно выведет в лог) или e.getLocalizedMessage() (просто текст, выводить в лог надо вручную).




#173067 Проблема снятия скриншота при UnhandledAlertException

Отправлено автор: TatyanaV 26 июля 2019 - 06:38 в Автоматизированное тестирование

Можно в лог выводить текст алерта, а потом закрывать его и фоткать страницу.




#173056 Как схитрить, чтобы не ждать подолгу полный проход теста по странице

Отправлено автор: TatyanaV 24 июля 2019 - 13:36 в Selenium - Functional Testing

Я использую IntelliJ IDEA.

Когда мне нужно отладить какой-нибудь тест - просто запускаю его в дебаггере и дохожу до точки "перед тем участком, который надо отладить". Дальше уже не продолжаю выполнение кода дебаггером, а выполняю нужные мне "кусочки кода" в доп. тулзе Evaluate Expression. Если там что-то не так - тест в целом не падает, поэтому можно подкорректировать то, что нужно и попробовать снова.




#172858 Прошу помочь разобраться с ошибкой cucumber.runtime.CucumberException:

Отправлено автор: TatyanaV 08 июля 2019 - 13:52 в Автоматизированное тестирование

А Вы уверены, что у COOKIE Вас правильно инициализированно?

Вроде бы первый параметр - имя (например, "ANID"), потом значение (например, "AHWqTUlyIThXzCDuQ8RXntFTNhBAXHx-jeqdHC12Naifw_ipukQpb2HnCyDmygAL").

У Вас куки в системе так и называются "cookie"?  :search:




#172789 Не взаимодействует со вторым элементом из списка с одинаковыми class

Отправлено автор: TatyanaV 01 июля 2019 - 07:54 в Selenium - Functional Testing

Попробуйте между "cursorOnDestroyButton.moveToElement(destroyList.get(1))" и ".click();" добавить ожидание кликабельности.

Т.е. "переместить курсор", подождать пока кнопка станет кликабельной, кликнуть.




#172720 Автоматизация Selenide + TestNG

Отправлено автор: TatyanaV 26 июня 2019 - 05:39 в Автоматизированное тестирование

Я Selenide плохо знаю, конечно, но я не вижу в этом коде никаких намеков на инициализацию браузера. Может я просто не понимаю чего-то?

Где у Вас браузер инициализируется?




#172714 Автоматизация Selenide + TestNG

Отправлено автор: TatyanaV 25 июня 2019 - 13:16 в Автоматизированное тестирование

Сложно сказать без кода, особенно - того места, где Вы браузер инициализируете.

Проблема не в xml - а в самом коде. 

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




#172630 Не находит кнопку (no such element: Unable to locate element)

Отправлено автор: TatyanaV 19 июня 2019 - 06:56 в Selenium - Functional Testing

Есть вероятность, что Ваш скрипт просто пытается кликнуть по этому пункту меню ещё до того как этот элемент появится.

Попробуйте вместо простого поиска элемента сделать ожидание кликабельности этого элемента, а уже потом - клик.




#172551 Не передаётся значение перменной

Отправлено автор: TatyanaV 10 июня 2019 - 11:30 в Selenium - Functional Testing

Какая переменная, какой ЯП, куда не передаётся, что вообще вы пытаетесь сделать...

У нас тут напряг с телепатами - лето, отпуска... 




#172546 Тестирования с использование WebDriver на C#

Отправлено автор: TatyanaV 10 июня 2019 - 09:06 в Автоматизированное тестирование

Вы не знаете, что Вы делаете в тестируемой системе, чтобы залогиниться?

Обычно - ввод логина, ввод пароля, клик по кнопке для авторизации.




#172468 Невозможность взаимодействия с элементом DOM

Отправлено автор: TatyanaV 05 июня 2019 - 13:45 в Selenium - Functional Testing

Ожидание отрабатывает, т.е. драйвер видит, что элемент появился

 

until(

ec.presence_of_element_located(locator))

 

Одно из самых бесполезных и бессмысленных ожиданий, на мой взгляд. 

Нужный элемент может присутствовать в DOM даже, если Вы его не видите.

Также, как и наоборот - может быть не кликабельным, даже если Вы его видите и Вам кажется, что все ок.

Если нужно кликнуть - лучше ждать кликабельности (element_to_be_clickable).




#172024 Как получить значения из подстроки таблицы

Отправлено автор: TatyanaV 30 апреля 2019 - 12:06 в Selenium - Functional Testing

Элементов может быть разное количество - может 1, а может и 10. 

.//*[@id='ProductTable']/.//tr[3]/.//input
.//*[@id='ProductTable']/.//tr[3]/td[2]  ///возвращает 803,52

При изменении кол-ва строк - такие локаторы сломаются.

 

Я бы поискала элемент с номером клиента (его не видно на скрине) и уже от него бы искала дальше.

"ProductTable" насколько я понимаю - вся таблица для всех клиентов сразу?




#171966 Как сделать, чтобы переменная увеличилась на число n (Selenium IDE)

Отправлено автор: TatyanaV 26 апреля 2019 - 09:09 в Selenium - Functional Testing

Из справки по локаторам:

Element <E1> immediately following sibling <E2>: E2 + E1

 

Т.е. скорее всего: #cal td.today+td (если именно на том же уровне и не задизейбленный)




#171949 Как сделать, чтобы переменная увеличилась на число n (Selenium IDE)

Отправлено автор: TatyanaV 25 апреля 2019 - 09:36 в Selenium - Functional Testing

Может быть смотреть не с точки зрения "выбранная ранее дата + 1 день", а с точки зрения "элемент с датой следующий сразу за элементом с текущей датой"?




#171930 Ребята помогите создать блок схему!

Отправлено автор: TatyanaV 23 апреля 2019 - 08:08 в Начинающему тестировщику

Ну, создавайте, раз нужно. В чем проблема? 

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

Если помощь нужна - покажите, что уже успели сделать, на чем "споткнулись", какие вопросы возникли и т.д.




#171865 xpath. Переход по дочерней ссылке

Отправлено автор: TatyanaV 18 апреля 2019 - 09:21 в Selenium - Functional Testing

Возможно, если бы было понятнее в чем именно проблема, ответов было бы больше.

 

В начале Вы одним способом скобки указали, ниже в "равенстве" уже другим.

Фраза "в тегах "a" ищутся атрибуты data-analytics-placement" - неправильная сама по себе, т.к. локатор предполагает не поиск аттрибутов в тэгах, а поиск элементов (тэгов) с указанными значениями аттрибутов. Это не одно и тоже.

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

В результате, лично у меня после первого сообщения получилась какая-то непонятная каша в голове. 

 

Ваше "//a[@data-analytics-placement][3]  =  xpath=(//a[@data-analytics-placement][3])" - ещё больше сбило с толку, т.к. стало не ясно, что же не так то тогда, "равенство" на первый взгляд выглядит адекватным.

 

Про "прямо подряд" - добавило к непонятности. Бывает "непрямо подряд"? 

Не понятно, что значит "4 по порядку атрибут с тегом". Это так не работает. У аттрибутов нет тэгов.

 

 

 

Я нашла ответ на свой вопрос, спасибо за АКТИВНОЕ участие в обсуждении.

 

Пожалуйста.




#171822 Выбор даты из календаря средствами Selenium IDE

Отправлено автор: TatyanaV 16 апреля 2019 - 06:45 в Selenium - Functional Testing

А Вас слово "not" не смущает? :) 
 
[id*='day']:not([class='disabled']) = элемент, в айдишнике которого присутствует "day", и у которого НЕТ класса "disabled".

 

Соответственно, варианты, которые Вы пробовали:

css=#day:not([class*="disabled"]):not([class*="today"]) = элемент, айдишник которого = "day" (у Вас вроде бы не было таких элементов), и у которого НЕТ класса "disabled" и НЕТ класса "today".

css=[id*="day"]:not([class*="disabled"]):not([class*="today"]) = элемент, в айдишнике которого присутствует "day", и у которого НЕТ класса "disabled" и НЕТ класса "today".

 

#cal td.today = где-то ниже по DOM'у относительно элемента с id = "cal", найти элемент td, у которого ЕСТЬ класс "today".

 

Ничего удивительного, что с этими локаторами по-разному отрабатывает всё :).

 

Теоретически, [id*="day"]:not([class*="disabled"]):not([class*="today"])  должно было отработать и кликнуть по "вчера" (если по скрину с кодом смотреть). Возможно, пытается кликнуть до того, как календарь "откроется". 

verify element present смотрит лишь на наличие элемента в DOM'e. Видно его или нет, можно ли по нему кликнуть и т.д. - не проверяется.

Попробуйте дожидаться не наличия элемента (verify element present), а его кликабельности (element clickable - не знаю, как оно в IDE пишется).

 

п.с.: [id*="day"].today:not([class*="disabled"]) = элемент, айдишник которого содержит "day", и у которого ЕСТЬ класс "today" и НЕТ класса "disabled".




#171744 Выбор даты из календаря средствами Selenium IDE

Отправлено автор: TatyanaV 11 апреля 2019 - 13:10 в Selenium - Functional Testing

css: [id*='day']:not([class='disabled'])

 

п.с.: *= - означает "содержит".




#171633 Команда "wait for element present" (Selenium IDE) - нужно ли у

Отправлено автор: TatyanaV 09 апреля 2019 - 06:06 в Selenium - Functional Testing

Теоретически, "element present" ждёт появления элементов в DOM'е, а не у Вас на экране. Возможно, блок для результатов в DOM'е присутствует изначально, а после поиска - выводится.

На это намекает "display: none;" в searchResultContainerEmpty - возможно у mCSB_container до поиска тоже стояло "display: none;". Но т.к. сам элемент есть, "wait for element present" его успешно находит.

 

Если Вы хотите проверять, что элемент не просто есть, но и выведен на экран - есть два варианта:

1. Ждать не "wait for element present", а "wait for element clickable" (не помню уже, как это правильно в Selenium IDE пишется).

2. Если я права и он просто скрыт через style*='display: none;', можно попробовать искать через немного другой локатор. Т.е. ждать не "#searchResult > div.mCSB_container", а "#searchResult > div.mCSB_container:not([style*='display: none;'])" или "#searchResult:not([style*='display: none;']) > div.mCSB_container", в зависимости от того, на какой элемент вешается style*='display: none;' до поиска. Попробуйте посмотреть эту часть кода страницы до "поиска".




#171632 java selenium яндекс карты

Отправлено автор: TatyanaV 09 апреля 2019 - 05:57 в Автоматизированное тестирование

Мне показалось, что автору нужно проверить отработку СВОЕГО функционала после клика по маркеру на карте.

С чего Вы все взяли, что он сами карты тестировать собрался?




#171579 ImplicitWait не ждет больше 60 сек

Отправлено автор: TatyanaV 05 апреля 2019 - 12:32 в Selenium - Functional Testing

Одновременное использование явных и неявных ожиданий в принципе не рекомендуется.

наоборот, рекомендуется в случае разных "сложных" элементов, когда элементы кастомные или с фреймворков типа реакта, или когда лэйзи лоадинг применяется

 

https://www.selenium...er_advanced.jsp

WARNING: Do not mix implicit and explicit waits. Doing so can cause unpredictable wait times. For example setting an implicit wait of 10 seconds and an explicit wait of 15 seconds, could cause a timeout to occur after 20 seconds.




#171574 ImplicitWait не ждет больше 60 сек

Отправлено автор: TatyanaV 05 апреля 2019 - 10:10 в Selenium - Functional Testing

Одновременное использование явных и неявных ожиданий в принципе не рекомендуется.




#171561 Как проверить, что выбрано (подсвечено) конкретное значение в выпадающ

Отправлено автор: TatyanaV 04 апреля 2019 - 10:33 в Selenium - Functional Testing

Что-то вроде [data-ident='city'][data-title='Москва'].current

Или: [data-ident='city'][data-title='Москва']>span.tower

 

(css)