Хочу двигаться в автоматизацию. С чего начать?Язык или тулзы по автоматизации?
Желание возникло от скуки или надобность для проекта? Если для проекта, то нужно брать и учить язык на котором написан проект
На счет изучения ЯП согласен, но это не обязательно должен быть ЯП на котором пишется проект, лучше брать то, что больше нравится. Так же стоит обратить внимание на наличие комьюнити по автоматизации на конкретном ЯП, кол-ву доступных библиотек и т.п. Почему-то многие считают, что разработчики смогут помогать в изучении автоматизации, но это далеко не совсем так. Да, какие то вещи по программированию они могут объяснить(помочь), но если они сами не занимались автоматизацией, то специфические вещи все равно придется узнавать самому. Тут больше поможет комьюнити или доки в интернетах. Ну и если проект написан ваще на какой нибудь scala или не дай боже на PHP? Не писать же тесты на этих языках
Да, но и писать на питоне тоже не стоит в таком случае
Почему бы и нет?
а чем питон так плох? Низкая востребованность на рынке?
Python по статистике входит в 5ку самых популярных языков программирования как в России так и США\Европа. Так же плюсом питона является его распространенность (все популярные дистрибутивы линукс из коробки содержат в себе питон 2.х а некоторые и 3.х). Ну и на мой взгляд, для автоматизации лучше подходят скриптовые ЯП, они проще, код писать быстрее, быстрее отлаживать, по сути не нужны IDE (в большинстве случаев хватает редактора с подсветкой синтаксиса), не нужно собирать ничего (maven, gcc) и т.д. и т.п. (щас меня закидают тапками фанаты Java и C# )
Это все оффтоп, но как я и писал выше, главное чтобы ЯП нравился и был достаточно распространен, если ЯП бует вызывать отвращение, то изучать такой язык будет очень сложно Ну и по поводу инструментов автоматизации. Лучше начать изучение автоматизации именно с ЯП, т.к. в любом случае практически все инструменты требуют так или иначе какого либо кодинга, пусть даже и на каком то встроенном языке. Знание ЯП позволит развить логику и понять как устроены те или иные инструменты автоматизации, лучше понимать как устроены тестируемые системы\приложения, а в следствии и более качественно и грамотно автоматизировать. Плюс в более или менее серьезных организациях ценятся именно навыки программирования и знание Unit тест фреймворков, чем знание конкретных инструментов. Но это опять же мое ИМХО )
Автоматизация имхо бесполезна без знания языка программирования.
Автмоатизатор, который только пользуется средствами различных “рекордеров” - по сути ручной тестировщик. Это накладывает ограничения на: быстрое масштабирование проекта, его кастомизацию, упёртость в существую технологию рекордера.
Знание же ЯП, такого как Питон - динамического, с прелестями Monkey patching’a - позволит сделать очень живучую и в то же время простую в понимании тестовую систему.
- пройти курси по вивченню мови програмування.
- розібратися з webdriver. Спробувати написати декілька тестів
- розібратися з PageObject. Організувати просту архітектуру тестів
- розібратися як тести можна запускати за допомогою CI ( наприклад, використовуючи Jenkins )