Size: a a a

QA — русскоговорящее сообщество

2021 January 13

СХ

Сергей Хос in QA — русскоговорящее сообщество
Всем привет. Подскажите, пожалуйста, насчет Selenium. Eсли создаю объект страницы до того, как страница открылась в браузере, то потом этот объект не может найти элементы на странице.
В чем может быть проблема?
источник

К

Коля in QA — русскоговорящее сообщество
Дмитрий Кононов
Это смоук, согласованный технологами, архитекторами и РП. Вот мне просто кажется, что многовато, но по отношению ко всему функционалу не так уж
ну так, значит для них это смоук. Проанализируйте ПО - и если считаете иначе (добавить/убавить кейсов) аргументировано донесите до того, кто считает иначе. Вы же куа на проекте
источник

R(

Roman (rpwheeler) in QA — русскоговорящее сообщество
Дмитрий Кононов
Это смоук, согласованный технологами, архитекторами и РП. Вот мне просто кажется, что многовато, но по отношению ко всему функционалу не так уж
Смоук это "из него дым пошёл" (буквально). Если смоук не проходит, это можно дальше не тестировать и спокойно заворачивать, подобно тому как если у меня из какого блока питания вдруг дым пойдёт, я его выключу и в ремонт сдам.

Если при критическом рассмотрении все 300 окажутся такого рода, -- ну окей.
источник

ДК

Дмитрий Кононов... in QA — русскоговорящее сообщество
Спасибо всем за ответы)
источник

R(

Roman (rpwheeler) in QA — русскоговорящее сообщество
Сергей Хос
Всем привет. Подскажите, пожалуйста, насчет Selenium. Eсли создаю объект страницы до того, как страница открылась в браузере, то потом этот объект не может найти элементы на странице.
В чем может быть проблема?
Через @FindBy небось элементы прописаны?
источник

ДК

Дмитрий Кононов... in QA — русскоговорящее сообщество
Sasha Di
какое же там приложение, если только смоук на 300 0_о
ERP система
источник

СХ

Сергей Хос in QA — русскоговорящее сообщество
Roman (rpwheeler)
Через @FindBy небось элементы прописаны?
Нет
источник

R(

Roman (rpwheeler) in QA — русскоговорящее сообщество
Сергей Хос
Нет
А каким вообще способом? Как связаны элементы с локаторами?
источник

СХ

Сергей Хос in QA — русскоговорящее сообщество
Roman (rpwheeler)
А каким вообще способом? Как связаны элементы с локаторами?
источник

СХ

Сергей Хос in QA — русскоговорящее сообщество
использую этот фреймворк для работы с селениумом:
https://github.com/aquality-automation/aquality-selenium-java/wiki/Overview-(Russian)#8-conditional-wait
источник

R(

Roman (rpwheeler) in QA — русскоговорящее сообщество
Сергей Хос
Всем привет. Подскажите, пожалуйста, насчет Selenium. Eсли создаю объект страницы до того, как страница открылась в браузере, то потом этот объект не может найти элементы на странице.
В чем может быть проблема?
Проблема как раз в том что Вы написали.

private List<TestOfProject> testsList = elementFactory.findElements(By.xpath(testsListXPath), TestOfProject.class, ElementState.DISPLAYED);

Этот код говорит что элементы надо найти при создании объекта. Если на момент его выполнения нет страницы -- нет элементов.
источник

R(

Roman (rpwheeler) in QA — русскоговорящее сообщество
Roman (rpwheeler)
Проблема как раз в том что Вы написали.

private List<TestOfProject> testsList = elementFactory.findElements(By.xpath(testsListXPath), TestOfProject.class, ElementState.DISPLAYED);

Этот код говорит что элементы надо найти при создании объекта. Если на момент его выполнения нет страницы -- нет элементов.
Ну и ещё и надо их найти со статусом Displayed, даже.
источник

СХ

Сергей Хос in QA — русскоговорящее сообщество
Roman (rpwheeler)
Проблема как раз в том что Вы написали.

private List<TestOfProject> testsList = elementFactory.findElements(By.xpath(testsListXPath), TestOfProject.class, ElementState.DISPLAYED);

Этот код говорит что элементы надо найти при создании объекта. Если на момент его выполнения нет страницы -- нет элементов.
С другими классами все ок, такой проблемы нет.
Например такое поле:
private ILabel portalVersion = elementFactory.getLabel(By.xpath("//footer//*[self::span or self::b]"),
           "portalVersion", ElementState.DISPLAYED);
находит элемент даже если объект был создан до открытия страницы
источник

DN

Dmitrii Novikov in QA — русскоговорящее сообщество
Дмитрий Кононов
Ребят, кто-нибудь проводил смоук из 300+ кейсов?
Да, почему нет? ) Кейсы-то как бы разные бывают )
источник

СХ

Сергей Хос in QA — русскоговорящее сообщество
Нашел ошибку, у меня findElements, он ищет элементы заранее при создании объекта
источник

AG

Andrew Gasov in QA — русскоговорящее сообщество
Вот это поворот.
источник

DN

Dmitrii Novikov in QA — русскоговорящее сообщество
Sasha Di
какое же там приложение, если только смоук на 300 0_о
Не всегда то, что называется смоуком, им является. Может, там согласованный с заказчиком "смоук", который, по сути, happy path регрессия, например.
источник

DN

Dmitrii Novikov in QA — русскоговорящее сообщество
Ice Spirit
Для регресса маловато для крупной системы
Опять же, зависит от степени декомпозиции.
источник

DN

Dmitrii Novikov in QA — русскоговорящее сообщество
Дмитрий Кононов
Это смоук, согласованный технологами, архитекторами и РП. Вот мне просто кажется, что многовато, но по отношению ко всему функционалу не так уж
Есть момент хитрый: смоук -- это, по сути, "включили в розетку, белый дым не вышел, берём в работу". Но у некоторых товарищей возникает соблазн напхать в него позитивные проверки на каждый кусок функциональности, независимо от приоритетов.
источник

DN

Dmitrii Novikov in QA — русскоговорящее сообщество
Сергей Хос
С другими классами все ок, такой проблемы нет.
Например такое поле:
private ILabel portalVersion = elementFactory.getLabel(By.xpath("//footer//*[self::span or self::b]"),
           "portalVersion", ElementState.DISPLAYED);
находит элемент даже если объект был создан до открытия страницы
Рискну предположить, что elementFactory может работать по принципу ленивой инициализации и начинать искать желаемое в момент обращения к portalVersion, а не в момент инициализации родительского объекта.

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