Size: a a a

QA — Automation

2021 September 03

SK

Sergey Kazachenok in QA — Automation
А как будет выглядеть такой единый локатор? Немного не представляю пока
источник

AK

Alexandr Kachurin in QA — Automation
//*[@*[starts-with(name(), "com.project")]]
источник

mf

mathias fux in QA — Automation
создать системную переменную, скажем env, которая может принимать значения dev, uat и т.д.
использовать локаторы типа String.format("com.project.%s:id/Menu", env)

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

AK

Alexandr Kachurin in QA — Automation
поговоите с разрабами, коллега отличный вариант предложил
считаю представленный им вариант самым простым и лучшим
источник

D

Dmitry in QA — Automation
Написать compile-time плагин, который будет менять название энвайромента в исходниках 😀
источник

SK

Sergey Kazachenok in QA — Automation
Отличный вариант, спасибо! А где системная переменная задается? На уровне локальной машины имеется в виду?
источник

mf

mathias fux in QA — Automation
на каком языке пишите и какой сборщик используете?
источник

SK

Sergey Kazachenok in QA — Automation
java, maven
источник

AK

Alexandr Kachurin in QA — Automation
))))
чем он отличный?)
источник

D

Dmitry in QA — Automation
Такая штука в аннотациях @FindBy не будет работать, если что
источник

SK

Sergey Kazachenok in QA — Automation
Выглядит довольно просто, по крайней мере на первый взгляд
источник

AD

Artemiy Drozdov in QA — Automation
А что просто паттерн нельзя написать, который будет искать локатор не используя dev/uat или что-то там ещё, пропускать эту часть и искать id/Menu
источник

mf

mathias fux in QA — Automation
тогда можно использовать maven surefire plugin, объявить в нем <systemPropertyVariables> описать там параметр и потом доставать там где нужно, если что пиши в лс
источник

AK

Alexandr Kachurin in QA — Automation
ну после написания трех проектов вместо одного, наверное, да
источник

mf

mathias fux in QA — Automation
это да, но мб у коллеги selenide да и думаю можно обойти это при желании
источник

SK

Sergey Kazachenok in QA — Automation
помимо локатора, необходимо изменять capabilities, поэтому вариант с пропуском не проходит
источник

SK

Sergey Kazachenok in QA — Automation
Спасибо! Буду пробовать
источник

AD

Artemiy Drozdov in QA — Automation
Локаторы эт одно. А capabilities вынести, накинуть лейбл и в зависимости от запускать разные группы 🤷🏻‍♂️
источник

И

Игорь in QA — Automation
Почему просто не хранить локаторы в том же класе, то есть для каждого page object отдельный класс с локаторами. Общие локаторы вынести также отдельно
источник

AK

Alexandr Kachurin in QA — Automation
а если будет 10 окружений, то 10 классов хранить?
источник