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

Фотография

Не находится поле для ввода текста в аналоге Selenium IDE (Katalon)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 23

#1 ebeda

ebeda

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Москва


Отправлено 10 января 2018 - 07:45

Добрый день!

Коллеги, помогите, пожалуйста. Впервые столкнулась с автотестами. Инструмент - Katalon.

Записываю сценарий теста - все отлично.

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

Вроде бы, и интервалы поставила, и клик по полю, но не помогло.

 

Буду благодарна за любую помощь.

 

Прикладываю:

1. Лог

2. Скрипт

3. Изображение поля

4. Изображение строки ввода текста

5. Код строки

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

  • Прикрепленный файл  3.png   153,58К   1 Количество загрузок:
  • Прикрепленный файл  лог1.txt   14,18К   8 Количество загрузок:
  • Прикрепленный файл  скрипт.txt   648байт   12 Количество загрузок:
  • Прикрепленный файл  1.png   3,75К   0 Количество загрузок:
  • Прикрепленный файл  2.png   7,39К   0 Количество загрузок:

  • 0

#2 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 10 января 2018 - 10:23

Странный выбор инструмента для впервые столкнувшегося с автотестами. Инструмент новый и сырой. Попробуйте написать в их службу поддержки.


  • 0

#3 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 10 января 2018 - 10:29

 

(Root cause: org.openqa.selenium.ElementNotVisibleException: element not visible

может ожидание видимости элемента надо добавить? и секунду паузы после на всякий случай


  • 0

#4 ebeda

ebeda

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Москва


Отправлено 10 января 2018 - 12:44

Странный выбор инструмента для впервые столкнувшегося с автотестами. Инструмент новый и сырой. Попробуйте написать в их службу поддержки.

Дело в том, что, как я поняла, Selenium IDE жить осталось недолго, поэтому начала искать альтернативные варианты. А Katalon во многом напоминает Селениум, поэтому и остановилась на нем. Если можете подсказать что-то еще более простое, буду признательна.


  • 0

#5 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 10 января 2018 - 12:51

а что собираетесь сделать?


  • 0

#6 ebeda

ebeda

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Москва


Отправлено 10 января 2018 - 13:10

 

 

(Root cause: org.openqa.selenium.ElementNotVisibleException: element not visible

может ожидание видимости элемента надо добавить? и секунду паузы после на всякий случай

 

 

Попробовала. Мне кажется, что проблема в использовании локатора.

Поставила Wait For Element Visible и интервал 30 сек. 

В логе выдало:

Found 27 web elements with id: 'Object Repository/Page_ (1)/Page_/input_ui-autocomplete-input' located by 'By.xpath: //input[count(. | //*[@type = 'text']) = count(//*[@type = 'text'])]' in '30' second(s)

Unable to set text 'тест' of object 'Object Repository/Page_ (3)/input_ui-autocomplete-input' (Root cause: org.openqa.selenium.InvalidElementStateException: invalid element state: Element is not currently interactable and may not be manipulated


  • 0

#7 ebeda

ebeda

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Москва


Отправлено 10 января 2018 - 13:11

а что собираетесь сделать?

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


  • 0

#8 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 10 января 2018 - 14:30

 

 

Или для чего мне понадобились автотесты?

да, для чего авто-тесты


  • 0

#9 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 10 января 2018 - 14:53

 

Странный выбор инструмента для впервые столкнувшегося с автотестами. Инструмент новый и сырой. Попробуйте написать в их службу поддержки.

Дело в том, что, как я поняла, Selenium IDE жить осталось недолго, поэтому начала искать альтернативные варианты. А Katalon во многом напоминает Селениум, поэтому и остановилась на нем. Если можете подсказать что-то еще более простое, буду признательна.

 

 

Ну а почему бы не начать пользоваться нормальным Selenium? Или его высокоуровневой надстройкой - Selenide


  • 0

#10 Spock

Spock

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 772 сообщений
  • ФИО:Роман

Отправлено 10 января 2018 - 15:15

 

 

Ну а почему бы не начать пользоваться нормальным Selenium? Или его высокоуровневой надстройкой - Selenide

возможно проблема начинающих автоматизаторов - автоматизировать хочется, но программировать не умеют

 

поэтому берутся ИДЕ и начинают писать тесты на них, со всеми вытекающими последствиями


  • 0

#11 ebeda

ebeda

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Москва


Отправлено 11 января 2018 - 07:09

 

 

 

Или для чего мне понадобились автотесты?

да, для чего авто-тесты

 

 

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


  • 0

#12 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 11 января 2018 - 08:44

 

В логе выдало:

Found 27 web elements with id: 'Object Repository/Page_ (1)/Page_/input_ui-autocomplete-input' located by 'By.xpath: //input[count(. | //*[@type = 'text']) = count(//*[@type = 'text'])]' in '30' second(s)

Unable to set text 'тест' of object 'Object Repository/Page_ (3)/input_ui-autocomplete-input' (Root cause: 

 

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

Как вариант: //*[@id='searchInput_chosen']/div/div/input или //*[@id='searchInput_chosen']//input (если в диве с айди searchInput_chosen других инпутов нет). Просто подставьте локатор в параметр xpath в свойствах этого объекта (в Object Repository)

 

2. Попробуйте заменить waitForElementPresent на waitForElementClickable. waitForElementPresent по-моему вообще одно из самых бесполезных ожиданий.

 

3. Прямо при записи скрипта, периодически нажимайте на паузу и проверяйте элементы, которые Каталон нашел. Verify and highlight > 1 элемента => прям тут же подбирайте локатор, пока не будет 1 единственный элемент находить.

 

Для начинающего автотестера без опыта разработки на каком-нибудь ЯП - Каталон гораздо более удобный вариант, чем Selenide (лично мне отсутствие документации по нему показалось минусом, а не плюсом, как это тогда позиционировалось... может изменилось конечно с тех пор).

А неправильно выбранный локатор - помешает не только в Каталоне, но и в чистом селениуме.


  • 1

#13 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 11 января 2018 - 09:38

Каталон удобен только тем, что есть графический интерфейс с вытекающими из этого плюшками. А программировать желательно уметь и в Каталоне.

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

 

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


  • 0

#14 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 11 января 2018 - 09:54

Опять началось из разряда: "У меня не получается покрасить забор?", а ему в ответ "Попробуй, разрисовать его граффити". 


  • 2

#15 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 11 января 2018 - 09:54

Я достаточно хорошо знаю джаву и не один год пишу тесты на селениуме + джава.

Из всего, что я за это время видела - Каталон самый простой в плане вхождения для людей без опыта.

На мой взгляд, удобен он не "только тем, что есть графический интерфейс", но и возможностью полноценно использовать ЯП.

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

Мне на нём приходится делать гораздо меньше ожиданий (т.к. многое он и сам и так уже делает), проще делать скриншоты, подключать файлы с тестовыми данными, если требуется.

Плюс написание теста на нем (даже с полноценным использованием вкладки "Script" идёт все равно быстрее, чем на чистом селениуме (и это при том, что у меня создание тестов на селениуме уже почти до автоматизма доведено и проблем нет вообще).

Один из важных плюсов - он хорошо дружит с фреймами, чего нет, к сожалению, в чистом селениуме (в Каталоне не нужно вручную прописывать переключения между фреймами и т.п.). В некоторых приложениях это важно.

Плюс, Каталон по сути основан на селениуме, что позволяет использовать все его возможности. 

 

Да, Каталон далек от совершенства. Но если уж и сравнивать его с транспортом - это скорее беговел в сравнении с велосипедом. Педали крутить ещё не нужно, но учиться держать равновесие уже приходится.


  • 1

#16 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 11 января 2018 - 10:47

Я достаточно хорошо знаю джаву и не один год пишу тесты на селениуме + джава.


у меня создание тестов на селениуме уже почти до автоматизма доведено и проблем нет вообще

 

 При всем уважении - у вас в профиле бейдж "Участник тренинга Селениум 2.0 стартовый уровень", который вы получили 14 февраля 2017 года. И это чувствуется.


  • 0

#17 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 11 января 2018 - 11:04

 

Я достаточно хорошо знаю джаву и не один год пишу тесты на селениуме + джава.


у меня создание тестов на селениуме уже почти до автоматизма доведено и проблем нет вообще

 

 При всем уважении - у вас в профиле бейдж "Участник тренинга Селениум 2.0 стартовый уровень", который вы получили 14 февраля 2017 года. И это чувствуется.

 

Открою небольшой секрет - чтобы изучать селениум совершенно необязательно иметь бейдж в профиле. :)

 

Ещё один секрет - далеко не все начинают учить только когда приходят на соответствующий курс. Есть такая вещь как самообразование, полезная штука, попробуйте как-нибудь.

 

Бонус: 14.02.2017 - бейдж у пользователя "Tatyana_V", у меня ник без нижнего подчеркивания (внимательность - вообще-то достаточно важна для тестировщика). Мой бейдж получен 07.03.2014 (если Вам это настолько критично), а непосредственно изучение начато ещё раньше.

 

И да, продвинутый курс я на сайте не проходила, т.к. а) зная джаву - разобраться с библиотекой селениума вполне можно и самостоятельно, что-то не ясно - открываете исходники и смотрите, б) для более углублённого изучения / ознакомления - Алексей приезжал к нам в компанию и делал тренинг непосредственно у нас, сразу для группы сотрудников.

Так что не стоит судить по картинке в профиле о том, о чем Вы абсолютно ничего не знаете, это выглядит смешно. :)

 

п.с.: если судить по Вашим бейджикам - то Вы о селениуме вообще даже и не слышали. :)


  • 3

#18 gako

gako

    Активный участник

  • Members
  • PipPip
  • 115 сообщений
  • Город:Калининград

Отправлено 11 января 2018 - 11:20

:-) Ок, тогда приношу извинения на счет моих сомнений в вашей компетенции в Селениуме.

 

Но тем страннее (для меня) выглядят ваши мысли о Каталоне. Вы-то пришли к нему нормальным эволюционным путем, а новичкам советуете совсем другое.


  • 0

#19 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 11 января 2018 - 11:37

:-) Ок, тогда приношу извинения на счет моих сомнений в вашей компетенции в Селениуме.

 

Но тем страннее (для меня) выглядят ваши мысли о Каталоне. Вы-то пришли к нему нормальным эволюционным путем, а новичкам советуете совсем другое.

ТС пришла к мыслям о Каталоне самостоятельно, я лишь возразила на попытки отговорить от ознакомления с ним. :)

Я сама с Каталоном познакомилась перед НГ и мне он понравился, т.к. я его изучала не только с точки зрения использования мной самой, но и с точки зрения дальнейшей передачи автотестов тем коллегам, кто джаву не знает совсем, а пользоваться моими автотестами хочет.


  • 0

#20 ebeda

ebeda

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • Город:Москва


Отправлено 11 января 2018 - 11:46

 

 

В логе выдало:

Found 27 web elements with id: 'Object Repository/Page_ (1)/Page_/input_ui-autocomplete-input' located by 'By.xpath: //input[count(. | //*[@type = 'text']) = count(//*[@type = 'text'])]' in '30' second(s)

Unable to set text 'тест' of object 'Object Repository/Page_ (3)/input_ui-autocomplete-input' (Root cause: 

 

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

Как вариант: //*[@id='searchInput_chosen']/div/div/input или //*[@id='searchInput_chosen']//input (если в диве с айди searchInput_chosen других инпутов нет). Просто подставьте локатор в параметр xpath в свойствах этого объекта (в Object Repository)

 

2. Попробуйте заменить waitForElementPresent на waitForElementClickable. waitForElementPresent по-моему вообще одно из самых бесполезных ожиданий.

 

3. Прямо при записи скрипта, периодически нажимайте на паузу и проверяйте элементы, которые Каталон нашел. Verify and highlight > 1 элемента => прям тут же подбирайте локатор, пока не будет 1 единственный элемент находить.

 

Для начинающего автотестера без опыта разработки на каком-нибудь ЯП - Каталон гораздо более удобный вариант, чем Selenide (лично мне отсутствие документации по нему показалось минусом, а не плюсом, как это тогда позиционировалось... может изменилось конечно с тех пор).

А неправильно выбранный локатор - помешает не только в Каталоне, но и в чистом селениуме.

 

Татьяна, Вы - гений! Поставила локатор в xpath и заработало! Поле нашлось, текст ввелся. Спасибо огромное и за помощь, и за моральную поддержку :)


  • 1


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных