Size: a a a

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

2020 September 18

SC

Sergey Chevychelov in QA — Автоматизация
Sceptic 1234
Подскажите, может кто знает, а есть ли способ подружить PageFactory с элементами, которые мне надо динамически менять через string.format?
Есть такая штука Atlas фреймворк. Там можно задавать параметризированные FindBy конструкции
источник

S1

Sceptic 1234 in QA — Автоматизация
Спасибо, загуглю
источник

SC

Sergey Chevychelov in QA — Автоматизация
ну или можно объявлять геттеры для элементов. Геттер принимает параметр, который ты дальше передаешь в локатор
источник

N

Nicky in QA — Автоматизация
Lev Yarushin
не важно где что крутится. Если у вас тесты поднимают приложение и работают с ним - то нужно заменить дефолтный сервер на puma например - станет легче.
Я в похожей ситуации делал так: https://stackoverflow.com/a/44277094
сделал puma
источник

S1

Sceptic 1234 in QA — Автоматизация
Sergey Chevychelov
ну или можно объявлять геттеры для элементов. Геттер принимает параметр, который ты дальше передаешь в локатор
не совсем понял. типа занаследоваться от стандартного веб элемента и сделать кастомный с геттером?
источник

SC

Sergey Chevychelov in QA — Автоматизация
Sceptic 1234
не совсем понял. типа занаследоваться от стандартного веб элемента и сделать кастомный с геттером?
ты сейчас хранишь например вебЭлементы вот так
@FindBy

или просто что-нибудь типа
SelenideElement btn = $x("локатор");


а то вместо такого объявления элемента можно обернуть все в метод
public SelenideElement getBtn(String text) {
     return $x(String.format("локатор", text));
}
источник

S1

Sceptic 1234 in QA — Автоматизация
А, понял. Ну да, я сейчас так и делаю примерно. Просто для единообразия реализации думал может быть можно через ту же аннотацию как-то объявлять такие элементы
источник

SC

Sergey Chevychelov in QA — Автоматизация
можно в Атласе
источник

SC

Sergey Chevychelov in QA — Автоматизация
но Атлас это еще одна зависимость. А только ради этого ее подключать как-то не оч
источник

АФ

Алексей Федоткин... in QA — Автоматизация
Sceptic 1234
А, понял. Ну да, я сейчас так и делаю примерно. Просто для единообразия реализации думал может быть можно через ту же аннотацию как-то объявлять такие элементы
можно свою кастомную аннотацию описать и в ней это собирать
источник

SC

Sergey Chevychelov in QA — Автоматизация
Алексей Федоткин
можно свою кастомную аннотацию описать и в ней это собирать
А можешь подсказать, как такое сделать?
источник

АФ

Алексей Федоткин... in QA — Автоматизация
щас пример скину. но мы для другого делали. но принцип думаю понятен будет
источник

SC

Sergey Chevychelov in QA — Автоматизация
спс
источник

🚲U

🚲 Oleh Kopyl UI/UX d... in QA — Автоматизация
Посоветуйте плиз хороший курс по Python обязательно чтобы был вместе в связке с Selenium.

Чтобы, как говорится, двух Зайцев.
источник

LY

Lev Yarushin in QA — Автоматизация
🚲 Oleh Kopyl UI/UX designer
Посоветуйте плиз хороший курс по Python обязательно чтобы был вместе в связке с Selenium.

Чтобы, как говорится, двух Зайцев.
источник

АФ

Алексей Федоткин... in QA — Автоматизация
Sergey Chevychelov
А можешь подсказать, как такое сделать?
На котлине делал чтоб код сократить в классе с тестами и запуск через тэги в JUnit5 прикрутить

делаешь класс, и в нем создаешь аннотаци, которые как пример - собирают кучу аннотаций в одну.
@Target(AnnotationTarget.FUNCTION)
@Retention(AnnotationRetention.RUNTIME)
@Epic("Набор тестов для смоук тестирования")
@Tag("Smoke")
@Severity(SeverityLevel.BLOCKER)
annotation class SmokeTest

на джава вот базовый пример. там их конфигурировать можно по всякому
public @interface About{
   String info() default "";
}


вам по идее надо описать свою аннотацию, а внутрь нее пропихнуть то что в методе до этого описали выше:
public SelenideElement getBtn(String text) {
     return $x(String.format("локатор", text));
}
источник

S1

Sceptic 1234 in QA — Автоматизация
Понял, поэкспериментирую, спасибо!
источник

АФ

Алексей Федоткин... in QA — Автоматизация
Sceptic 1234
Понял, поэкспериментирую, спасибо!
👍
источник

S

Svail in QA — Автоматизация
Всем привет. Такой вопрос есть три сценария в который создается определенная запись  и потом эта запись привязывается к объекту. Так вот в первом сценарие создается запись и привязывается к объекту, во втором уже новая запись привязывается к объекту, а вот в третьем 2 эти записи которые были созданы в первом и втором сценарии привязываются к 3 объекту. Вопрос таков: Стоит ли это все скомбинировать в один тест и тогда не придется в 3 сценарии еще раз создавать опять 2 записи (это сэкономит время прогона теста)  Или же стоит разделить на 3 разных теста(тогда при падение одного другие все еще отработают).
источник

SO

Samvel Osipyan in QA — Автоматизация
зависит от того что тебе надо, если важен результат только по объекту 3 и не важно что сценарии по объектам 1, 2 падали то делай так как быстрее, ну а если важно, то понятно да как делать надо ? )
источник