Size: a a a

QA — Автоматизация

2020 February 12

СС

Сказочный Сникерс in QA — Автоматизация
Stepan Shalagin
переходи на selenide
+
источник

M

Maksym in QA — Автоматизация
Aleksey Sazonov
Может быть, не совсем вменяемо выразился(
Есть элемент, который используется в 3 тестах, этот элемент ищу по xpath.
Путь до элемента изменился(от спринта к спринту такая история) - все 3 теста завалились. Приходится в каждом править путь до элемента
у тебя в каждом тесте этот элемент объявляется заново? И у него одинаковый xpath каждый раз?
источник

DG

Daniil Gusev in QA — Автоматизация
Aleksey Sazonov
Может быть, не совсем вменяемо выразился(
Есть элемент, который используется в 3 тестах, этот элемент ищу по xpath.
Путь до элемента изменился(от спринта к спринту такая история) - все 3 теста завалились. Приходится в каждом править путь до элемента
Ты можешь вынести локаторы в отдельный файл
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Aleksey Sazonov
Может быть, не совсем вменяемо выразился(
Есть элемент, который используется в 3 тестах, этот элемент ищу по xpath.
Путь до элемента изменился(от спринта к спринту такая история) - все 3 теста завалились. Приходится в каждом править путь до элемента
Есть ряд выходов: использование внешнего файла с локаторами, упаковка локаторов в пейджобджекты или экшен классы и пр.

А в проверках использование, соответственно, вызовов "упаковки".

Это разделение логики вызовов элементов страниц и логики тестов.
источник

AS

Aleksey Sazonov in QA — Автоматизация
Maksym
у тебя в каждом тесте этот элемент объявляется заново? И у него одинаковый xpath каждый раз?
Да, мне даже оттолкнуться не от чего, приходится искать элементы по расположению, это вообще треш, поэтому, когда добавляют новый элемент - мои уходят в заплыв(
источник

AS

Aleksey Sazonov in QA — Автоматизация
Daniil Gusev
Ты можешь вынести локаторы в отдельный файл
Да, тоже думал об этом)
Даже попробовал, но пока не понял как правильно, так как если я выношу локаторы в отдельный файл и импортирую этот модуль в основой тест, то в модуле начинается поиск всех локаторов) вообщем буду обходиться функциями из другого модуля наверное
источник

DG

Daniil Gusev in QA — Автоматизация
Aleksey Sazonov
Да, мне даже оттолкнуться не от чего, приходится искать элементы по расположению, это вообще треш, поэтому, когда добавляют новый элемент - мои уходят в заплыв(
Можешь сделать поиск по картинке, в зависимости от проекта дизайн может меняться реже
источник

M

Maksym in QA — Автоматизация
Aleksey Sazonov
Да, мне даже оттолкнуться не от чего, приходится искать элементы по расположению, это вообще треш, поэтому, когда добавляют новый элемент - мои уходят в заплыв(
По расположению? По координатам на экране что ли?
источник

DG

Daniil Gusev in QA — Автоматизация
Maksym
По расположению? По координатам на экране что ли?
Он использует xpath
источник

VK

Vadim Karpievich in QA — Автоматизация
а у тебя форма одна? почему бы не искать по хтмл тегу, названию атрибута? и , если ан странице 2,3 формы использовать nth-child или [1] [2] в xpath
источник

M

Maksym in QA — Автоматизация
Daniil Gusev
Он использует xpath
Тогда непонятно, почему путь к элементам страдает от добавления новых элементов. Такое может происходить, но не слишком часто
источник

SS

Stepan Shalagin in QA — Автоматизация
Aleksey Sazonov
Да, мне даже оттолкнуться не от чего, приходится искать элементы по расположению, это вообще треш, поэтому, когда добавляют новый элемент - мои уходят в заплыв(
а где нибудь глянуть возможно?
источник

M

Maksym in QA — Автоматизация
Ещё можно сам xpath оптимизировать, чтобы он не слишком цеплялся за промежуточные элементы по пути к нужному. Тогда действительно от изменения малейшего дива на 5 уровней выше элемента всё полетит к чертям
источник

AS

Aleksey Sazonov in QA — Автоматизация
Vadim Karpievich
а у тебя форма одна? почему бы не искать по хтмл тегу, названию атрибута? и , если ан странице 2,3 формы использовать nth-child или [1] [2] в xpath
У меня на фронте через одно место все... к примеру идёт:
div class hdkevevidv> div class heodbvrivdqkce> мой элемент
Так вот, если между дивами добавляют элемент - мой элемент уже не найден
источник

AS

Aleksey Sazonov in QA — Автоматизация
Практически дословно описал
источник

VK

Vadim Karpievich in QA — Автоматизация
Печально))
источник

M

Maksym in QA — Автоматизация
//div[@class='hdkevevidv']//div[@class='heodbvrivdqkce']//<твой элемент>
источник

M

Maksym in QA — Автоматизация
например
источник

VK

Vadim Karpievich in QA — Автоматизация
Maksym
Ещё можно сам xpath оптимизировать, чтобы он не слишком цеплялся за промежуточные элементы по пути к нужному. Тогда действительно от изменения малейшего дива на 5 уровней выше элемента всё полетит к чертям
вот тебе уже ответили
источник

VK

Vadim Karpievich in QA — Автоматизация
не ипользуй промежуточные пути
источник