Курс "Test Automation - Selenium + Java" [ набор постоянный ]

learning
courses
java
selenium
selenide
Теги: #<Tag:0x00007fedb98784e0> #<Tag:0x00007fedb98783a0> #<Tag:0x00007fedb9878260> #<Tag:0x00007fedb987f060> #<Tag:0x00007fedb987ef20>

(Ayia) #1

Ну что, дружище, здесь шары не будет. Поскольку в современном мире автоматизации доминируют динозавры, нормальных бесплатных курсов нет (кто знает - дайте линк!). Так что прийдется раскошелится на около 110 баксов в месяц, да еще и не хило повкалывать от 2 до 4 месяцев чтобы набраться реального практического опыта.

Ну ок, ближе к делу. Во-первых вот сразу программа. А вот пример далеко немногих “выжимок” из нее - видео “KISS Automation” (правда с большинством примеров на Python :D).

Ну а теперь попробуем разобраться что мы с этой программой будем делать.

О чем данный курс?

На занятиях ты не просто познакомишься с базой написания автотестов, но и с помощью специально подобранных практических заданий набьешь шишки, которые автоматизаторы набивают и после 4-х лет опыта, в большинстве случаев так и не поняв дзен. Ты же, в добавок к шишкам, как следствие усердной работы, получишь все секреты закрепляя знания на практике с помощью специально подобранных домашних заданий. Начав с простого смоук теста, ты построишь полноценное тестовое покрытие небольшого приложения в соответствии с лучшими практиками современной автоматизации. Во второй половине курса ты возьмешь быка Selenium за рога и укротишь этого зверя написав собственный фреймворк класса Selenide. Причем не один а несколько, попутно разобравшись с разными подходами и парадигмами в программировании, и разными нюансами джавы для их поддержки. Последнее позволит закалить твои скилы достаточно чтобы потом разрабатывать фреймворки не только для автоматизации Web UI, а и для других задач для которых нужных решений может не быть. Конечно же именно для последнего мы и будем учится разрабатывать фреймворки, а не для того чтобы каждый раз изобретать велосипед;)

Курс построен таким образом, чтобы на выходе мы получили специалиста, способного самостоятельно построить автоматизацию на проекте.

Для кого?

  • для мануальных тестировщиков желающих начать строить автоматизацию делая свою работу более еффективной
  • для начинающих в тестировании и чувствующих в себе силу что бы использовать инструменты для автоматизации своих рутинных действий
  • для совсем новичков которые хотят ворваться в мир ИТ на всех парах, и добавив кучу реальных скилов в свое резюме - повысить свои шансы получения действительно интересной работы за заслуженное вознаграждение.
  • для автоматизаторов желающих познакомиться с Java + Selenide, нюансами подходов к построению тестового покрытия и написания эффективных тестов, структурировать свои знания и познакомиться с лучшими практиками в автоматизации, и в конце концов глубже понять как работает Selenium, Selenide, и как построить последний из первого, и по ходу научится профессии Software Developer in Test.

Что нужно уже знать?

  • Опыт в тестировании (или очень хорошие знания в теории и сильная техническая база)
  • Базовые навыки java (соответствующие первым 7 бесплатным занятиям на javarush.ru) и желание продолжать развивать их дальше параллельно с процессом обучения автоматизации на курсе.
  • Базовые знания в автоматизации с помощью Selenide

#Как подготовиться и попасть на курс?

Не хочется что бы ты потратил свое время зря, поэтому подготовься тщательно. Ты можешь задавать вопросы возникающие по ходу подготовки в этом чате: https://gitter.im/yashaka/start-selenium. У тебя точно должны они появиться, как минимум по тестовому заданию. Так что не стесняйся. Так же можешь использовать список частых вопросов и ответов которые возникают у студентов при работе над заданием, только не забегай вперед, всегда старайся подсмотреть только по чуть чуть, иначе эффективность обучения снизится многократно. Как только будет рабочее решение отправляй на yashaka@gmail.com для первого бесплатного ревью. Можешь также запросить ревью напрямую в чате start-selenium. Отправляй в виде ссылки на код выложенный через http://refheap.com или http://pastebin.com. Только не подсматривай в решения других (по линкам из чата)! Для себя же учишься. Лучше спроси лишний раз помощи.

Как только получишь “done” от преподавателя - можешь проводить оплату, после завершения которой тебя добавят в наш обычный процесс обучения. Получается фиксированной даты набора нет, занятия все равно почти “индивидуальные”, и выбор даты старта зависит только от тебя.

Как видишь у тебя есть возможность немножко поучиться “на шару”, прочувствовать сложность и атмосферу, и понять в конце концов подходит тебе курс или нет. В любом случае перед началом обучения подтяни программирование на уровне первых 7-ми занятий из http://javarush.ru или другого похожего ресурса, если этот покажется тебе слегка скучным (он такой и есть, просто для “совсем новичков” и выбора то нет особо).

Как построено обучение?

Курс включает в себя одно-двухчасовые видео-лекции (около 30) и около 32 домашних заданий. Большинство домашних заданий проверяется преподавателем или ментором до тех пор, пока оно не будет сделано “идеально”. Часто студенты переделывают домашки от 5 до 10 раз. Ревью некоторых особо тяжелых домашек могут занимать у преподавателя час-полтора-два времени за одну проверку. К некоторым заданиям идут текстовые или видео ревью в виде наборов часто встречаемых ошибок и соответствующих решений. В таких случаях ты сможешь проверить себя самостоятельно и сделать работу над ошибками перед тем как отправлять решение преподавателю, и соответственно сэкономить и свое и его время. Также будет доступ к FAQ - набору часто встречаемых вопросов и ответов при работе над заданиями. Если в FAQ ответа нет - вопросы можно задавать в общий чат, где тот кто первый увидит (преподаватель или ментор или другой студент знающий ответ) - тот и ответит.

Из опыта предыдущих групп, курс занимает около 4 месяцев, при условии, что слушатель выполняет 7-8 домашних заданий в месяц. “Отличники” умудряются закончить половину курса (только часть о Selenide) за 5 недель, “хорошисты” - в полтора раза медленнее, “троешники” - в два, “двоешники” - не заканчивают :D. Быть “отличником” обычно не значит быть “самым умным” а скорее “самым усердным”, что выливается в ежедневной работе над домашками, по несколько часов, а на выходных - и того больше. Курс действительно сложный:) “Це тобі не півники смоктати” :wink:

Процесс обучения выглядит следующим образом:

Есть Google Sheets, в котором открывается доступ к видео лекциям и домашкам по мере прогресса студента. Студент смотрит видео, берется за домашку и переводит ее в in progress, сделал - переводит в ready for review (оставляя в комментарии ссылку на решение). Далее преподаватель/или ментор - проверяют домашку и высылают ревью, переоткрывая при этом домашку (делая ее reopened), студент снова берется за работу (in progress), и так далее до отличного результата, пока преподаватель не поставит done. Бывает, что домашки переделываются до 10 раз, но в итоге преподаватель и студент уверенны, что материал понят и закреплен на отлично.

Полная стоимость

И того - видео лекции, домашние задания, их тщательная проверка и непрерывная поддержка на протяжении 3-4 месяцев - за 110 $ в месяц (в гривнах, по курсу установленному магазином). При этом, за тобой остается выбор длительности обучения. Если ты сможешь на отлично осилить материал в более короткие сроки, то и заплатишь соответственно меньше: за три месяца – 330 $, за два – 220$ и так далее. Если тебе нужна будет “передышка”, сможешь уйти на каникулы и продолжить обучения когда тебе будет угодно.

На самом деле, учитывая явно заниженную цену, эта версия курса продержится не долго, и ее заменит более “офлайн версия”, в которую будут входить только текстовые/видео ревью вместо ревью от преподавателя/ментора, и текстовые FAQ вместо постоянного живого саппорта в скайпе от преподавателя/ментора. А дополнительные живые саппорт и ревью будут докупаться отдельно по часовому рейту преподавателей. Так что поспеши пока не закончилась возможность получить только одно ревью (из многих) например на 2 часа от инженера с рейтом в 40-45 баксов в час - всего лишь за 110 баксов в месяц :wink:

FAQ

У меня нет опыта в программировании. Потяну ли я курс?

Смотри раздел “Как подготовиться?”. Он и будет твоим тестом. Если ты пройдешь указанное в разделе, и у тебя не пропадет желание двигаться дальше - значит и курс будет тебе по зубам. Как минимум - его первая половина.

Может мне лучше пройти какие то курсы по программированию для совсем новичков?

Смотри раздел “Как подготовиться?”. Если ты не потянешь javarush.ru который и так рассчитан на “совсем совсем новичков” и при том бесплатный (нужные 7 занятий), то скорее всего: или IT не твой путь, или путь в IT будет очень сложным, и нужно хорошо подумать - стоит ли оно того?

Но если у меня будут появляться вопросы во время подготовки, что делать?

Учись использовать google, и в случае неудачи - обращайся в чат: https://gitter.im/yashaka/start-selenium

Что я смогу делать с точки зрения практики с навыками полученными на курсе?

В случае успешного прохождения первой половины курса (о Selenide) ты сможешь уверенно писать полноценные эффективные Web UI Acceptance тесты с помощью Java + Selenide строя правильное тестовое покрытие, разбивать тесты по сьютам и добавлять их автоматический запуск в CI на Jenkins.

Если же дойдешь до конца - сможешь рассчитывать на роль Software Development in Test Engineer, конечно в зависимости от того опыта который ты уже наработал. У тебя есть реальные шансы прокачаться за эти 4-ре месяца до технического уровня круче чем 90 процентов всех синьйоров на рынке, но мир обычно довольно несправедлив, и будет очень сложно доказать этим же 90 процентам которые будут проводить тебе собеседование - что это не подстава :slight_smile: Ну и вынужден признать, реально выдерживают курс и доходят до конца - далеко не все :slight_smile: В принципе не всем и нужно становится SDET-ом и заниматься разработкой инструментов автоматизации, кому то и знаний просто написания автотестов с помощью готовых инструментов будет достаточно.

Почему Java?

Автоматизация достаточно проста чтобы язык особо не влиял на объективную удобность написания тестов. Но выбор языка влияет на эффективность самой автоматизации. Если писать автотесты на том же языке что и продукт, то это дает достаточно бонусов:

  • программистам удобнее использовать результаты трудов автоматизаторов
  • автоматизаторы могут использовать наработки программистов для предустановки тестового окружения и тестовых данных.
  • нет нужды держать много автомейшен-гуру на проекте, так как программисты смогут помочь в трудную минуту с нужными техническими решениями.
    Учитывая то что проектов на Java очень много. Есть смысл начинать учить именно ее, так как большая вероятность что именно она пригодиться на следующем проекте.

Также, поскольку все равно нужно уметь автоматизировать на многих языках (подбирая их под конкретные проекты) - есть смысл начать с более сложного - c Java - после которого большинство других - покажутся детской забавой :smile:

Если для твоего проекта или вкуса нужен другой язык, ты можешь подождать старта других адаптаций этого курса :wink: Или пройти программу с джавой и потом перестроится на тот же Python, что будет сделать достаточно просто, ведь на Python есть порт Selenide - Selene - и по сути Web UI тесты на Python ничем особо не будут отличатся. Плюс в сети есть достаточно моих видео по автоматизации с Python + Selene. А если сложно поверить в то что “тесты не будут отличатся”, посмотри запись моего выступления на QA Fest - Polyglot Automation, где показаны реальные примеры тестов на Java, C#, Python и Ruby;)

Почему Selenide для Java?

Потому что это самая простая библиотека для Web UI тестов на базе Selenium. Простота Selenide не мешает ему быть таким же мощным как и Selenium, и не мешает ему интегрироваться с ним если нужно. Эта же простота позволяет за минимум усилий выучить автоматизацию Web UI и быстро писать эффективные тесты.

Selenium конечно учить важно (чем мы конечно и будем заниматься), как и важно понимать строение автомобиля, если тебе нужно не только на нем ездить но и ремонтировать или строить новый. Но вряд ли стоит учить строение двигателя, если в первую очередь тебе нужно научится эффективному вождению.

Довольно логично также идти от простого к сложному. Использование чистого Selenium подразумевает хорошие знание того же объектно ориентированного программирования, которое для большинства новичков будет только усложнять понимание. С помощью Selenide у нас есть возможность начать обучение автоматизации используя более простые парадигмы и плавно перейти к более сложным.

Начинать разбирать сначала Selenium стоит только опытным программистам, для которых стоит цель определить лучший инструмент для использования в нужном контексте, особенно для языков где аналогов Selenide нет. Тогда зная возможности оригинального селениума можно будет лучше определить чем отличаются другие основанные на нем фреймворки, и какой же лучше подойдет для проекта. Или же инструмент нужен не для написания тестов а для специфической работы с браузером, что далеко не одно и то же. Запомни важный момент: Selenide - это инструмент для автоматизации Web UI тестов, а Selenium - это инструмент для автоматизации браузера.

Все еще не веришь в такой подход? Ну тогда тебе сюда.

Почему так дорого?

Сейчас я тебе посчитаю себестоимость и мы посмеемся над этим вопросом вместе :slight_smile:

Вот примеры двух реальных студентов. Будем их называть Боб и Джо, что бы никто не догадался :slight_smile:

Боб закончил половину программы за два месяца без 7 дней, и соответственно заплатил 194 $. При этом получил 15.23 часов ревью от ментора с рейтом примерно 20$ в час и 2.68 часов ревью от преподавателя с рейтом в 45$$ в час. Получается себестоимость только ревью за этот период - 425 $$.

Со вторым студентом преподавателю “повезло” больше. Джо закончил половину программы за два месяца заплатив 220$$. При этом получив 8 часов ревью от ментора и 2.1 от преподавателя - общей стоимостью в 253 $$.

А еще же кроме ревью был саппорт в чате, который никто не считал… Да и видео-материалы наверное должны что то там стоить:)

Причем что Боб и Джо - хорошисты, которые старались, и усердно прислушивались ко всем рекомендациям в ревью. А есть же еще и другие студенты, у которых процесс идет сложнее например из-за меньшего количества опыта, с которыми иногда только в чате сидишь до пол дня разбирая дополнительные вопросы…

Почему только онлайн?

Потому что это удобней и эффективней в контексте временных затрат как мне так и усердным студентам.
А трата своего время на тех, кому нужен наганяй с палкой, который на оффлайн занятиях будет заставлять учиться - приводит меня в уныние :slight_smile: и разрушает красоту мира :slight_smile:

Ну и самая банальная причина - живая офлайн версия курса не масштабируется и плохо окупается в перспективе при том же уровне качества.

Если же ты боишься что к тебе нужен “индивидуальный живой подход” что бы все лучше понять, то не переживай - именно такой он сейчас и есть, только в основном в режиме чатов, и при необходимости - скайп звонков.

Другие вопросы

Если остались еще вопросы, можешь задавать их как по почте (yashaka@gmail.com) так и в чате start-selenium, так и в этой теме.

Удачи!


Какие курсы по автоматизации тестирования посоветуете?
(You Rooock) #2

Если бы было бесплатно, то, думаю, люди подумали бы еще. Но какой смысл отваливать кучу бабла за информацию, которой полно в инете бесплатно?


(Ayia) #3

Что же ты дружище подходишь так непрофессионально) Линки в студию! :wink: А то на словах все такие умные :slight_smile:

А еще почитай вот эту тему: Тренинг: QA Automation - Selenium + Java (Киев)
Там уже кто то пробовал спорить на похожую тему :slight_smile:

И перед тем как в слепую заявлять что есть в инете полно бесплатной инфы на те же темы что и в курсе раскрываются - посмотри для начала вот это видео: KISS Automation
А потом найди мне хоть один бесплатный ресурс где раскрываются эти темы. При этом они только верхушка айсберга контента самого сабжа.

Или найди хотя бы одну статью/видео где описано как использовать трюки и практики описанные вот в этой презентации: Selenide Alternative in Practice - Implementation & Lessons Learned, которые нужны для полного арсенала любого по настояшему хорошего Software Development Engineer in Test. Я уверен конечно что по частям их можно собрать, я сам вот похожие вещи уже 7 лет как собираю:)… Но во первых в статьях из мира программирования а не автоматизации, а во вторых - собирать прийдется долго, по крупицам… Да еще и желательно что бы кто то помогал разбираться… Потому что совсем другое дело - все это применить на практике конкретно в контексте автоматизации тестирования.

Информация - это еще не знания. В большинстве случаев для эффективного приобретения знания нужен ментор а не только книжка. Книжки - это круто, но текущие возможности которые они открывают - не безграничны. При этом я надеюсь что в скором времени книжки станут более интерактивными, отвечающими современному уровню технического прогресса. И смогут заменить даже менторов, в большинстве случаев. И также я надеюсь что такие книжки будут бесплатными. Но пока я убил почти год на создание такой книжки (еще не законченной), ценой ранее высокооплачеваемой работы. И пока я не отобью то время которое я в нее вложил с верхом, бесплатной я ее делать не буду. Всему свое время. Достаточно того что я делюсь всем что могу в своих выступлениях. В принципе опытные инженеры - смогут в них разобраться “за бесплатно” без курсов.

Но этот курс и не для них явно. У всего есть своя аудитория.

Ты кстати можешь себя проверить. К которым относишься ты сам:) - Попробуй разобраться с инфой из презентации выше :wink: Попробуй погуглить… Может найдешь где описано детально все упомянутые техники, а также как их слепить вместе. Если разберешься сам и сможешь повторить, тогда конечно тебе такой курс не нужен точно. Удачи!

P.S.
Да и в конце концов, дочитай до конца и внимательно, перед тем как спорить по крайней мере таким малым количеством аргументов. В конце описано за что платит студент. Он платит по сути не за “информацию” а за менторинг, причем явно по заниженной цене.


(Алексей Бобруцков) #4

Привет! Еще актуально?


(Ayia) #5

Курс? - Да, конечно. Когда будет не актуально, я либо тему удалю, либо подправлю в соответствии с изменениями.
Привет:)


#6

Привет!
Учусь у Якова третий месяц. Да, курс не для ленивых, да, нужно тратить приличное к-во времени на обучение постоянно, ежедневно, но! я всегда чувствую поддержку преподавателя и ментора. Без них было бы капец :blush: И, я вижу результат и он меня поражает! :innocent:
О программе - мне кажется это самая обширная и всеобъемлющая программа курса по автоматизации на рынке (ИМХО). Она однозначно стоит своих денег. Онлайн версия - это находка, я могу учиться где угодно и когда угодно.
По стоимости: нужно быть справедливым. There ain’t no such thing as a free lunch :smile:
Автора курса очень постарались над ним, и заслуживают на компенсацию.
Однозначно рекомендую всем кто хочет действительно научиться и уметь!)


(Iryna Onyshchuk) #7

Курс очень продуктивный для специалистов любого уровня, а в особенности - тем, кто только начал заниматься автоматизацией, так как преподаватель “воспитывает” правильные привычки и мышление. Материал очень насыщенный и все по существу. Цена за навыки, которые обычно люди нарабатывают годами - вполне нормальная, тем более, что, используя такие навыки у себя на проекте - вам все вернется первой же зарплатой. Яша - очень крутой специалист, и учится у него - это отличный шанс.


(Vitalik Marchenko) #8

Яков в нашем учебном слаке попросил оставить отзыв о его курсе, что я с удовольствием и делаю (просьб написать что-то в каком-то положительном ракурсе и проч. не было, поэтому постараюсь объективно оценить).
Курс очень насыщен и предполагает регулярную работу над ДЗ, поэтому сразу учитывайте, что примерно 10 часов в неделю вам нужно тратить на обучение (если вы конечно не хотите проходить его полгода).
Яков и особенно Юля делают ревью каждой домашки, я иногда получал ревью по 300-400 строк, некоторые домашки были переоткрыты раз по 8-10. Юля - перфекционист в плане кода и до тех пор пока каждый метод/параметр не будет иметь лаконичного информативного имени - reopen :slight_smile:

Курс предполагает 90% практики и 10% теории (по моим ощущениям), поэтому очень рекомендую перед курсом пройти все 10 бесплатных левелов javarush, чтоб как минимум у вас было крепкое понимание что такое класс, метод, сигнатура метода, то есть самая база. Конечно в случае серьезных затыков всегда можно пойти в слак и попросить помощи (иногда даже приходилось стучать в скайп даже), но все же с базовыми вещами лучше наверное разобраться с помощью гугла.

Вообщем прокачивайте джаву, выполните первую ДЗ и определитесь подходит ли именно вам такой подход в обучении.


(Zaytsman) #9

Курс просто отличный. Для тех кто действительно хочет научиться автоматизировать, а не для галочки прослушать курс лекций. Программа курса очень продуманная, в ней собраны и систематизированы многие вещи которых не найти (или найти только частично) в интернете.

Надо быть готовым к тому что придется много работать. Делать и много раз переделывать домашки. Поскольку ревью домашних заданий очень подробные и дотошные. Но результат превзойдет все ожидания.

Большое спасибо Якову и Юлии, за лекции и подробнейшие ревью домашек. В общем, если есть минимальные знания в программировании и желание стать хорошим автоматизатором очень рекомендую данные курсы.


#10

Прошла курс полностью и очень рада, что попала на него ). Хочу отметить то, что можно самому регулировать время прохождения и это очень удобно (у меня были ограничения во времени и смогла пройти за 2 мес). Работать нужно реально много, но таски насколько интересные, что это прям таки затягивает :). Ревью домашек хорошее, переделывать приходится много раз, но таким образом как раз и происходит хорошее обучение. Отличный саппорт от преподавателей.

И еще: курс не просто дает информацию и учит делать шаблонные вещи, а учит думать. В ревью не просто получаешь “тут сделать так”, а как бы наводящую информацию “а почитай-ка ты это и подумай как это можно применить”.
Также, информации на курсе и полученного опыта хватает для того, чтобы свободно сделать тестовые задания при поиске работы.

Большое спасибо Якову и Юле за хорошее обучение.
Курс однозначно рекомендую.


(Farof Well) #11

Согласен с Яковом, что люди платят не за инфу собственно, а за ее верный подбор, систематизацию и подачу. В конце концов информацию в статье Википедии можно найти по куче источников, приеденных в ее конце, однако гораздо удобнее именно Вики, а не серфинг по академическим и энциклопедическим ресурсам.
С другой стороны, посмотрел видео KISS и не увидел ничего страшного и секретного там, что не гуглится за 5 минут вместе с примерами кода. Селениум, Селенид, ООП, пейджи и файндбай? Ищется без проблем, не говоря уже о спец сайтах типа селениумизи или сайт Дейва Хеффнера. Может Яков конечно что-то другое имел в виду когда это видео приводил в пример.
Не могу не отметить неверное сравнение кода в самом начале видео, сделанное надеюсь не умышленно. Дело в том что пример для Селениума приведен с использованием Пейджа и файндбай, что вовсе не обязательно для того чтобы дождаться элемента с текстом. Конечно код селенида все равно будет лаконичнее, но не во столько раз, как показано на видео- там можно оставить 2 строки.


(Ayia) #12

Ошибки нет. И это “умышленно”. Я даже специально еще раз просмотрел чтобы проверить что я не забыл оговорить - что речь именно об ожидании элемента а не локатора - и таки не забыл - минута 04:20.

И вот что под “ожиданием элемента” имелось ввиду.

В селениуме существует два типа кондишенов: которые принимают объекты локаторы типа By и которые принимают объекты элементы типа WebElement (речь не идет о кондишенах по работе с коллекциями элементов и их локаторами).

Так вот в случае приема локатора, да, код будет в две строчки:

WebDriver driver = new FirefoxDriver();
(new WebDriverWait(driver, 6)).until(textToBePresentInElementLocated(By.cssSelector("#element"), "foo"))

но в случае работы не с локатором а с обьектом-элементом:

WebDriver driver = new FirefoxDriver();
(new WebDriverWait(driver, 6)).until(textToBePresentInElement(driver.findElement(By.cssSelector("#element")), "foo"))

этот код не сработает, потому что оказывается кондишен textToBePresentInElement ожидает не просто объект WebElement а прокси WebElement (и это в документации явно не оговорено, насколько я помню), который можно в чистом селениуме создать только через PageObject + PageFactory, пример с которыми и был показан на видео.

Я показал именно этот случай - потому что он как раз самый распространенный, в силу того что люди в основном выносят элементы в переменные чтобы переиспользовать, и получается, в чистом селениуме, для того что бы WebElement был “юзабельным”, чтобы его можно было использовать в явных ожиданиях - нужно не просто положить в переменную то что найдет driver.findElement - а нагородить всю ту лобуду с PageObject + PageFactory/@FindBy.

Есть много нюансов, можно всегда работать с локаторами, и вдруг что выносить только их в переменные - тогда @Findby + PageFactory будут не нужны, но это все равно приведет к написанию дополнительных хелперов, которые приведут к не настолько лаконичному коду как при работе с прокси-элементами, поэтому именно работа с последними была выбрана для того слайда.

Такс… Я наверное соглашусь что я мог довольно громко заявить используя слово “секреты”. Но все же, стоит заметить что доклад типа KISS Automation не о таких штуках как Selenium, Selenide, OOP, PageObject, PageFactory. Да информация о последних гуглится быстро. Но - те нюансы и лучшие практики их использования - гуглятся только абстрактно. Не зная конкретных нюансов и практик - ты их не нагуглишь. Да конечно ты можешь нагуглить “best practices in PageObject implementations” - и найдешь доклады по типу моего. И даже то что мой доклад уже существует в сети - говорит о том что его “можно нагуглить”. Это очевидно. Но - я приводил свой пример с гуглением в контексте - “сложно нагуглить секреты/нюансы такого рода как в этом докладе”, имея в виду что в курсе их много, и все в одном месте, сгрупированны по контекстам, и не разбросано по просторам интернета. Их гугление, особенно учитывая то, что не ясно что гуглить, займет намного больше чем 5 минут. Вот я начал этот пост с того что объяснил слегка разницу между двумя типами кондишенов и почему нужен именно PageFactory в случае работы с элементом а не локатором напрямую в эксплисит вейтах. И вот я зашел на упомянутый www.seleniumeasy.com и нашел три статьи о PageObject и PageFactory. И не нашел там обьяснений этих нюансов. Зато нашел примеры плохого стиля/оуверинжениринга в статье о PageObject, плюс кучу бреда в статье PageFactory. Я просто в шоке от последней. От того насколько там часто подменяются и искажаются понятия типа “reference to actual element on page” и " lazy load concept". В общем настоятельно не рекомендую учиться по этому сайту, который есть прекрасным примером того бреда который можно “нагуглить за 5 минут”:slight_smile: Как то если будет “час і натхнення” можно разложить эту статью по полочкам, или просто посмотреть запись (появится наверное к концу осени) моего доклада который будет в конце сентября на QA Fest о PageFactory - и сравнить со статьей на seleniumeasy, и все станет ясно.

UPDATE

чорт, а ведь я таки не обзывал свое видео секретным:

И перед тем как в слепую заявлять что есть в инете полно бесплатной инфы на те же темы что и в курсе раскрываются - посмотри для начала вот это видео: KISS Automation
А потом найди мне хоть один бесплатный ресурс где раскрываются эти темы. При этом они только верхушка айсберга контента самого сабжа.

И да, я бы таки посмотрел на бесплатный ресурс где раскрываются все эти темы, кроме конечно ссылки на мой же доклад. На один ресурс - seleniumeasy, уже насмотрелся :slight_smile:
Многие вещи можно найти где то в других докладах. О той же атомарности тестов. И на стековерфлоу есть вопросы. Думаю конечно же можно найти критику подхода ElementObject, но все таки ее меньше… Таких ресурсов которые будут учить этому сразу - очень мало - как раз большинство ресурсов которые позиционируют себя как обучалки селениуму для новичков - этому учить не будут. И прийдется еще долго гуглить время от времени в контексте наскоков на грабли в своей работе, что то досматривать что бы собирать все эти важные знания…

И снова, я об этом уже упоминал:

Все это не 5 минут.

Не 5 минут нагуглить и понять

  • когда в реальном опыте нужны пейджы как обьекты, а не просто “модули”, что именно дает ООП именно в автоматизации
  • почему нужны lazy proxy элементы, как они реализованы в селениуме и селениде, в чем разница, почему селениде хотя и враппер, но по доступным аут оф зе бокс инструментам - более гибкий во многих случаях чем селениум - вот в той же работе с прокси элементами…
  • зачем и когда таки использовать ElementObject/Widgets, какие он дает плюсы, но какие и минусы
    и так далее…

Ну и последний штрих - разные ведь люди бывают еще. Кому то может и 5 минут. Тогда этот курс не для них, о чем я тоже упоминал :slight_smile:


(Ayia) #13

Йоу:)
В эту суботу (17го сентября) один из интересных кусков этого курса будет представлен на BAQ conference в виде лекции по парадигмам програмирования в применении к построению автоматизации и небольшого (на два слота) практического тренинга на близкие темы.

Скорее всего выступление будет на украинском языке :slight_smile:

Описание выступлений:

Доповідь: “Парадигми програмування в практиці автоматизації”

Опис:

Ще в школі чи університеті нас навчали класичним парадигмам програмування - імперативній, структурній, процедурній, модульній, обьекто-орієнтованій. В цій доповіді ми проведемо таку собі ретроспективу на використання принципів цих парадигм в автоматизації веб тестування. Чи “править світом” тільки ООП? Чи залишилось ще й місце для “старих забутих” парадигм? На прикладі побудови автоматизації веб додатків з використанням і без використання всім відмого патерну Page Objet, ми порівняємо ці парадигми, дамо відповіді на вище згадані питання, і проведемо приблизні межі сфер використання основних парадигм.

Воркшоп: Будуємо автоматизацію з Java + Selenide

Вопродовж воркшопу ми познайомимось з базовими практиками написання автотестів для веб додатків на прикладі використання інструментів Java, JUnit, Selenide. Акцент буде зроблено на написанні читабельних і зрозумілих тестів за допомогою використання патерну PageObject. Ми будемо писати справжні бойові тести і отримані знання можна буде застосувати на реальних проектах. Для того щоб взяти участь потрібно мати ноутбук з встановленими Java та Intellij Idea (гугл знає як), а також мати базові навички програмування (на будь-якій мові). Щоб підготуватись можна пройти перші 7 безкоштовних занять на javarush.ru, чи пройти програму відповідну цим 7 заняттям (http://info.javarush.ru/page/learning_plan/) на будь-якому іншому ресурсі. Воркшоп пройде ще більш ефективно, за умови базового знайомства з бібліотекою Selenide: http://ru.selenide.org/quick-start.html. Додаткові питання по підготовці можна задавати в https://gitter.im/yashaka/start-selenium.


(Roma Marinsky) #14

Ну не знаю, а есть ли смысл говорить о всех парадигмах?


(Ayia) #15

О всех упомянутых выше есть:) Потому что можно при разных условиях как раз обойтись только какой то одной в контексте написания тестов… И в том то и вся фишка доклада - расмотреть эти разные юз кейсы, и понять когда какой парадигмы не хватает, и нужно переходить “на уровень выше”.


(Roma Marinsky) #16

Я тебя понял) Ну жесть, 3 доклада под ряд у тебя - вот это раздолье по времени))
Но замахаешься пипец)


(Roma Marinsky) #17

А для какого сайта ты будешь готовить тесты?


(Ayia) #18

на воркшопе - наверное для grible.org (ну не этого сайта, а веб приложения которое можно с него скачать)
а на докладе - как всегда думаю:) для todomvc4tasj.herokuapp.com


(Ayia) #19

Как логическое продолжение курса, отдельным онлайн вебинаром 3 октября будет представлен отдельный кусок о написании тестов с использованием шаблона ElementObject/Widgets (хотя по сути это тот же PageObject только применен к кускам страници а не целым страницам)

Welcome! :wink:


#20

Добрый день, что-то кроме selenium, selenide и Java ещё рассматривают на курсе ?