Size: a a a

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

2020 January 07

R

Radomyr in QA — Автоматизация
всем привет. посоветуйте, пожалуйста, адекватный эмулятор андроида для тестов. среди прочего, нужно запускать несколько инстансов параллельно и через adb shell работать (AVD достаточно тормознут и без адроид-студии хрен запустишь, BlueStack shell не поддерживает, остальные не пробовал пока ибо хз какие еще есть).
источник

R

Radomyr in QA — Автоматизация
под винду нужен
источник

AB

Alexei Barantsev in QA — Автоматизация
Artur
Ребята, так ли важна инкапсуляция в автотестах?
На главной странице сайта нужно будет прокликать 30 элементов (5 - баттоны вроде регистрции и логина,  25 - вспомогательные).  Если делать это все в мейнпейдже код будет очень громоздким( еще и с @ FindBy). Как будет правильнее сделать - пихнуть все в кучу мейнпейджа или же можно эти 25 элементов закинуть в другой класс и наследоваться от него?
мне кажется, вы как-то неправильно поняли, что такое инкапсуляция… пихнете вы всё в один класс или сделаете базовый и унаследуетесь от него — с точки зрения инкапсуляции разницы никакой
источник

MK

Mem Kekovich in QA — Автоматизация
Alexei Barantsev
мне кажется, вы как-то неправильно поняли, что такое инкапсуляция… пихнете вы всё в один класс или сделаете базовый и унаследуетесь от него — с точки зрения инкапсуляции разницы никакой
Так он ж хочет вайти в айти
Слишком много знаний за короткое время получил
источник

AB

Alexei Barantsev in QA — Автоматизация
не стоит делать ничем не подкрепленные предположения о том, кто чего хочет и кто как получил свои знания. оставайтесь в плоскости фактов, а не домыслов
источник

AV

Alexei Vinogradov in QA — Автоматизация
Всех с праздничком, токсичность и переходы на личности в этом чятике не поощряются. В следующий раз будет бан.
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Artur
Ребята, так ли важна инкапсуляция в автотестах?
На главной странице сайта нужно будет прокликать 30 элементов (5 - баттоны вроде регистрции и логина,  25 - вспомогательные).  Если делать это все в мейнпейдже код будет очень громоздким( еще и с @ FindBy). Как будет правильнее сделать - пихнуть все в кучу мейнпейджа или же можно эти 25 элементов закинуть в другой класс и наследоваться от него?
Программируют и читают и поддерживают код люди. Куча принципов, вопросов и ответов в ИТ строится на "как удобнее человекам".  

Нет необходимости в том чтобы всё было сосредоточено в одном классе. Есть "larger class anti-pattern". Разбиение может, и неплохо может, быть функциональным, логическим, по нескольким блокам-группам вспомогательных элементов.

"Наследоваться" тоже не обязательно. Стоит изучить тему предназначения, применения и разных сторон композиции и наследования.

@FindBy тоже не обязателен. Опять таки сошлюсь на запись на YouTube Солнцева "10 причин моей ненависти".
https://www.youtube.com/watch?v=U6z2dK7MwmI&t=403s

Если локатор нужен для одного, и только одного действия, ему ничего не мешает быть String константой или даже хардкодом.

Т.е. я бы предложил:
) логически разбить элементы на группы-блоки по контролам на странице (имеющиеся в интерфейсе группы, или логические)
) каждой группе сопоставить отдельный класс
) внутри page оставить самое необходимое, скажем, локаторы контролов, относящиеся к login
)  в зависимости от настроения включить классы групп  в page композицией, или работать с ними отдельно,
) если уж хочется для красоты идти по fluent/chaining проходить "отрывками" по зависимостям внутри групп в стиле builder pattern  ( (http://javacodingnerd.com/wp-content/uploads/2017/05/BuilderPattern.jpg) )
источник

V

Vladislav in QA — Автоматизация
Artur
Ребята, так ли важна инкапсуляция в автотестах?
На главной странице сайта нужно будет прокликать 30 элементов (5 - баттоны вроде регистрции и логина,  25 - вспомогательные).  Если делать это все в мейнпейдже код будет очень громоздким( еще и с @ FindBy). Как будет правильнее сделать - пихнуть все в кучу мейнпейджа или же можно эти 25 элементов закинуть в другой класс и наследоваться от него?
Архиважна!
Вообще принципы ООП и паттерны проектирования нужно использовать.
Вы сейчас код напишите, а придёт после вас другой автотестировщик и придётся ему с нуля ваш код переписывать.

Я считаю что все сразу нужно делать правильно.
источник

EB

Evgenii B in QA — Автоматизация
Правильно != корячить паттерны там, где они не нужны
источник

EB

Evgenii B in QA — Автоматизация
«Нужно делать правильно» — отличный совет, класс! :)
источник

V

Vladislav in QA — Автоматизация
Evgenii B
Правильно != корячить паттерны там, где они не нужны
Как минимум Page Object паттерн имеет смысл использовать
источник

AV

Alexei Vinogradov in QA — Автоматизация
Селенид взять правильно ⛪️, а всё остальное - зависит от ситуации.
источник

EB

Evgenii B in QA — Автоматизация
Селенид == джава, а это весьма серьёзный выбор, о котором можно и пожалеть
источник

VS

Vladimir Sokolov in QA — Автоматизация
Evgenii B
Селенид == джава, а это весьма серьёзный выбор, о котором можно и пожалеть
по причине?
источник

EB

Evgenii B in QA — Автоматизация
Я бы никогда не взял джаву только из-за селенида на чистом проекте. Нативные тесты на xcuitest, espresso — да. Питон и селениум - да. JS — да.

Но в lamp стэк тащить тяжелое окружение 🤷‍♂️
источник

EB

Evgenii B in QA — Автоматизация
Vladimir Sokolov
по причине?
Мне не интересно тащить JRE в окружение
источник

BO

Boris Osipov in QA — Автоматизация
а в чем разница тащить питон\ноду и jre?
источник

BO

Boris Osipov in QA — Автоматизация
как бы все ставится из пакетных менеджеров или докер image
источник

EB

Evgenii B in QA — Автоматизация
Я работал в условиях ограниченных ресурсов, в целом рантайм джавы жирный был и это было ограничением. Сейчас на saucelabs уже без разницы. Поэтому пишу нативные тесты. Для новичков наверное selenide будет хорошим выбором.
источник

B

Bola in QA — Автоматизация
Evgenii B
Я работал в условиях ограниченных ресурсов, в целом рантайм джавы жирный был и это было ограничением. Сейчас на saucelabs уже без разницы. Поэтому пишу нативные тесты. Для новичков наверное selenide будет хорошим выбором.
Кстати, о нативных. У вас своя ферма в компании?
источник