Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Python для новичка в автоматизации, с чего начать?

python
education
Теги: #<Tag:0x00007f7b6212e0c8> #<Tag:0x00007f7b6212df10>

(Aleksey Z) #1

Всем привет. На данный момент я работаю ручным тестировщиком, но планирую двигаться в сторону автоматизации. Пробовал свои силы в написании автотестов на #java, в общем понял, что это мое. Теперь возник вопрос с выбором нужных #framework для #python (решил перейти на #python и в будущем уже уйти в разработчики), настройкой среды и т.д., т.е. всего, что нужно для нормальной работы и написания, структуры автотестов на #python, подскажите пожалуйста. Спасибо


(rmerkushin) #2

Вот пара книг по автоматизации на python: https://yadi.sk/i/wtc3lF74fvUBy
https://yadi.sk/i/lo-dY7fffvUDo
Но лучше на мой взгляд начать с изучения selenium, за одно и с python потренируетесь. Потом уже можно смотреть в сторону какого нибудь юнит тест фреймворка, например pytest.


(Sergey Pirogov) #3

А почему в разработчики?


(Aleksey Z) #4

Да это пока в планах)) Вообще в автоматизацию хочу углубиться


(Aleksey Z) #5

Спасибо большое! В связке Java + Selenium использовал TestNG просто и дальше не копал, а тут начал искать по python, а там столько всего. Получается, что в python больше возможностей в сфере автоматизации? И еще подскажите по структуре пожалуйста. У меня раньше было так в проекте: src/main/java - мои пэйджи; src/test/java - мои тесты. А какова структура проекта в pythone? Хотелось бы уже начать нормально и без “гавнокода” в структуре и прочем, чтобы не ударить в грязь, так сказать))


(rmerkushin) #6

По поводу возможностей я бы так не сказал, для java очень много различных библиотек и фреймворков данного направления (тот же selenium раньше под java обновляется, если я не ошибаюсь). Просто на мой взгляд python больше подходит для автоматизации (щас меня запинают джависты :smiley: ) т.к. он интерпретируемый, он проще для изучения, более лаконичный и дебажить будет проще, но опять же это только на мой взгляд :smile: По поводу структуры, тут нет так называемого “сильвер буллета”, каждый делает так, как ему удобнее, как он считает более правильно, абсолютно правильного решения нет, тут нужно пробовать. Есть готовые фреймворки, недавно на этом форуме выкладывали неплохое решение для работы с selenium под python - Webium Для него есть “сорцы”, можешь поглядеть как делают другие :wink: Да и на одном python не стоит зацикливаться, нужно развивать себя в разных направлениях. Просто некоторые вещи проще делать другими средствами, тут нужно смотреть, что больше подходит в данной ситуации (Например для написание эмуляторов сервисов, я использую SoapUI, т.к. на нем это сделать проще и быстрее чем писать с нуля на python).


(Dmitriy Zverev) #7

Если Вы начинаете совсем с нуля, то пройдите какой-нибудь онлайн-курс. За неделю получите базовые знания и навыки. Опробовал такой подход обучения на студентах - работает: не скучно и эффективно.


(Sergiy Panchenko) #8

Онлайн курс по автоматизации? Вы много таких знаете?


(Dmitriy Zverev) #9

Онлайн курс по питону, например, этот http://www.codecademy.com/tracks/python


(Mykhailo Poliarush) #10

Или вот например http://lessons2.ru/python-for-testers/


(Aleksey Z) #11

О, на codecademy я уже начал заниматься и скачал еще книжку Лутца по основам языка. Спасибо


(Aleksey Z) #12

Спасибо за совет. Мне тоже знакомые сказали, что python попроще для изучения. Ну хоть какие-то знания по программингу я уже имею, надеюсь, что мне теперь будет проще начать изучать python


(Sergiy Panchenko) #13

Глядя на программу курса и стоимость, взял бы не задумываясь, будь это Руби)


(Mykhailo Poliarush) #14

Добавил в wishlist http://lessons2.ru/whishlist/, придет черед и к ruby


(barancev) #15

Для изучения питона применительно к задачам тестирования у нас есть курс “Программирование на Python для тестировщиков”, а по Selenium целая линейка тренингов разных уровней и на разных языках.


(Aleksey Z) #16

А кто на какой версии python кодит? Подскажите пожалуйста.


(rmerkushin) #17

Я использую 3х версию в данный момент. Есть как свои плюсы так и минусы. Перешел из-за постоянных проблем с кодировками в версии 2х. Вообще лучше начать изучение с версии 2х, под него и библиотек больше и примеров в интернете. Со временем как подучите язык, уже сами сможете решить нужна ли вам 3ка :smile: Да, и небольшой совет, если есть возможность, используйте лучше *nix ОС, на ней в разы удобнее работать с python и проще ставить некоторые пакеты (некоторые пакеты требуют сборки, в *nix это решается просто установкой gcc, make и прочих сопутствующих библиотек которые ставятся в пару команд, а в windows придется искать либо готовую сборку в exe/msi либо ставить visual studio либо какой то аналог, плюс всякие vs redistr и прочее, вобщем головняк еще тот :smile: ).


(Dmitriy Zverev) #18

Microsoft подсуетилась и выпустила компилятор, на котором собирается Python 2.7 => установка пакетов в последнее время упростилась.
http://www.microsoft.com/en-us/download/details.aspx?id=44266
Однако, отмечу, что я пользуюсь vagrant c centos - установка всего тестового окружения проста, понятна и автоматизирована


(rmerkushin) #19

Не знал о таком компиляторе, спасибо! Но я все же за Linux/Mac. Под Linux к тому же есть нормальный docker, да и если лень собирать либы, в большинстве случаев они есть в репозиториях :wink:


(Dmitriy Zverev) #20

У меня вопрос про docker: вы его используете в тестировании\разработке?
Сейчас мы активно это изучаем. Если интересно, можем рассказать, как мы его применили в тестировании.
Мы совсем отвлеклись от темы, но она послужила хорошей площадкой для беседы об автоматизации и её окружении в python.