SlideShare una empresa de Scribd logo
1 de 21
Автоматизируем рутинные
задачи или как разговаривать
на змеином языке
Рутинная задача
• Имеет софтверный характер
• Ложится на вас на постоянной основе
• На первый взгляд, на её решение
не хватает навыков программирования
Схема Google Play
Developer Console
Собранные
приложения
Загрузка
приложений на
Google Play
Публикация
приложений
Счастливый
конечный
пользователь
Собранные
приложения
Загрузка
приложений на
Google Play
Публикация
приложений
Счастливый
конечный
пользователь
15
x
Схема Google Play
Developer Console
Пути решения
• Ручной труд
• Использование готовых решений
• Использование готовых API
• Использование готовых модулей на
выбранном языке программирования
Как будем решать
проблему:
1) Определимся, есть ли API (техническая
возможность реализация задачи)
2) Выберем язык программирования, найдем
готовые модули (если они есть)
3) Настроим под требуемые задачи
4) Автоматизируем запуск
Так почему же Python
• Простой
• Мало скобочек
• Интерпретируемый
• PIP & virtualenv
Так почему же Python
Находим необходимые
пакеты
Устанавливаем пакет
Python 2 vs Python 3
Настраиваем доступ
import os
folder = "/folder"
for application in folder:
os.system("python ./basic_upload_apk.py " + application)
os.system("python ./basic_release_apks.py " + application)
{
"installed": {
"client_id": "374348332506-g8kFwp6m8gk57sD6u9bea23tq.apps.googleusercontent.com",
"client_secret": "VKoosDHv8ORoLCVrEdssOgbe",
"redirect_uris": "[[urn:ietf:wg:oauth:2.0:oob http://localhost]]",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://accounts.google.com/o/oauth2/token"
}
}
Настраиваем запуск
А как изменить?
Автоматизируем запуск
Настраиваем уведомления
Настраиваем автозапуск
Советы
• Не бойтесь
• Задавайте вопросы
• Настаивайте на своем
• Практикуйтесь
• Используйте GIT
SourceTree
Теперь мы можем
• Писать тесты там, где, казалось, это
невозможно
• Получать новые и интересные задачи
• Облегчить свою работу и работу коллег
• Повысить свои профессиональные навыки
–Мартин Фаулер
«Любой дурак может написать код, понятный
компьютеру. Хороший программист пишет
код, понятный человеку.»
Спасибо за
внимание!
Васильев Егор
Город Москва, Россия
E-mail: egorvas@gmail.com
Телефон: +79166260768

Más contenido relacionado

La actualidad más candente

2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
Омские ИТ-субботники
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net framework
jskonst
 
Михаил Коробов: Как перейти на Python 3
Михаил Коробов: Как перейти на Python 3Михаил Коробов: Как перейти на Python 3
Михаил Коробов: Как перейти на Python 3
it-people
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
jskonst
 
системы автоматизированного перевода
системы автоматизированного переводасистемы автоматизированного перевода
системы автоматизированного перевода
MariaSuina
 

La actualidad más candente (20)

Codeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышлоCodeception + Docker + Robo и что из этого вышло
Codeception + Docker + Robo и что из этого вышло
 
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС «CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
«CI. Jenkins. 2GIS» — Игорь Павлов, 2ГИС
 
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователейКак 3 тестировщика играючи тестируют приложение для 10млн пользователей
Как 3 тестировщика играючи тестируют приложение для 10млн пользователей
 
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)Highway to Сontinuous Integration, Денис Трифонов (2GIS)
Highway to Сontinuous Integration, Денис Трифонов (2GIS)
 
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
2014-02-01 02 Дмитрий Малиновский. Почему нужно читать исходный код инстру...
 
About emacs
About emacsAbout emacs
About emacs
 
Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?Дефицит ресурсов тестирования... или нет?
Дефицит ресурсов тестирования... или нет?
 
SECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Васильков Василий, Серверное программирование сегодняSECON'2016. Васильков Василий, Серверное программирование сегодня
SECON'2016. Васильков Василий, Серверное программирование сегодня
 
использование .Net framework
использование .Net frameworkиспользование .Net framework
использование .Net framework
 
Михаил Коробов: Как перейти на Python 3
Михаил Коробов: Как перейти на Python 3Михаил Коробов: Как перейти на Python 3
Михаил Коробов: Как перейти на Python 3
 
Chef wtf
Chef wtfChef wtf
Chef wtf
 
Путь мониторинга: модульность, гибкость, devops
Путь мониторинга: модульность, гибкость, devopsПуть мониторинга: модульность, гибкость, devops
Путь мониторинга: модульность, гибкость, devops
 
Тестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практикТестирование REST-сервисов с применением инженерных практик
Тестирование REST-сервисов с применением инженерных практик
 
А так ли нужен DevOps инженер в проекте?
А так ли нужен DevOps инженер в проекте?А так ли нужен DevOps инженер в проекте?
А так ли нужен DevOps инженер в проекте?
 
Platypus platform ivbit
Platypus platform ivbitPlatypus platform ivbit
Platypus platform ivbit
 
системы автоматизированного перевода
системы автоматизированного переводасистемы автоматизированного перевода
системы автоматизированного перевода
 
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
"Непрерывная интеграция или "Кто всё сломал?", Виктор Русакович, MoscowJS 23
 
Take2
Take2Take2
Take2
 
Devconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как кодDevconf-2015 Тестируем инфраструктуру как код
Devconf-2015 Тестируем инфраструктуру как код
 
Badger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктовBadger — инструмент для мониторинга качества продуктов
Badger — инструмент для мониторинга качества продуктов
 

Destacado

Destacado (20)

Грабли тестировщика
Грабли тестировщикаГрабли тестировщика
Грабли тестировщика
 
Как заслужить доверие заказчика при передаче проекта новой команде тестирования?
Как заслужить доверие заказчика при передаче проекта новой команде тестирования?Как заслужить доверие заказчика при передаче проекта новой команде тестирования?
Как заслужить доверие заказчика при передаче проекта новой команде тестирования?
 
Истина где-то рядом или как правильно писать код
Истина где-то рядом или как правильно писать кодИстина где-то рядом или как правильно писать код
Истина где-то рядом или как правильно писать код
 
А не поговорить ли нам о XSS!
А не поговорить ли нам о XSS!А не поговорить ли нам о XSS!
А не поговорить ли нам о XSS!
 
Вам не нужен Автоматизатор!
Вам не нужен Автоматизатор!Вам не нужен Автоматизатор!
Вам не нужен Автоматизатор!
 
Тестирование производительности для специалистов по автоматизации - зачем и как?
Тестирование производительности для специалистов по автоматизации - зачем и как?Тестирование производительности для специалистов по автоматизации - зачем и как?
Тестирование производительности для специалистов по автоматизации - зачем и как?
 
Управленческие поединки или искусство быть услышанным
Управленческие поединки или искусство быть услышаннымУправленческие поединки или искусство быть услышанным
Управленческие поединки или искусство быть услышанным
 
Как вводить нового тестировщика в команду
Как вводить нового тестировщика в командуКак вводить нового тестировщика в команду
Как вводить нового тестировщика в команду
 
Подход Доктора Хауса в тестировании оптимизации запросов
Подход Доктора Хауса в тестировании оптимизации запросовПодход Доктора Хауса в тестировании оптимизации запросов
Подход Доктора Хауса в тестировании оптимизации запросов
 
Проект без правил или Команда моей мечты
Проект без правил или Команда моей мечтыПроект без правил или Команда моей мечты
Проект без правил или Команда моей мечты
 
Анализируем результаты тестирования производительности с Graphite и Grafana
Анализируем результаты тестирования производительности с Graphite и GrafanaАнализируем результаты тестирования производительности с Graphite и Grafana
Анализируем результаты тестирования производительности с Graphite и Grafana
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
Оценка качества автотестов
Оценка качества автотестовОценка качества автотестов
Оценка качества автотестов
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Как заводить баги понятно всем
Как заводить баги понятно всемКак заводить баги понятно всем
Как заводить баги понятно всем
 
"Дедуктивный метод тестировщика". Ищем баги анализируя статистику
"Дедуктивный метод тестировщика". Ищем баги анализируя статистику"Дедуктивный метод тестировщика". Ищем баги анализируя статистику
"Дедуктивный метод тестировщика". Ищем баги анализируя статистику
 
Архитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной областиАрхитектура автоматизированных тестов: представление предметной области
Архитектура автоматизированных тестов: представление предметной области
 
Качественное тестовое задание? Без проблем!
Качественное тестовое задание? Без проблем!Качественное тестовое задание? Без проблем!
Качественное тестовое задание? Без проблем!
 
Беседа о тестовых данных
Беседа о тестовых данныхБеседа о тестовых данных
Беседа о тестовых данных
 
User experience, как замена юзабилити
User experience, как замена юзабилитиUser experience, как замена юзабилити
User experience, как замена юзабилити
 

Similar a Как автоматизировать рутинные задачи или учимся разговаривать на змеином языке

Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Anthony Marchenko
 
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON
 
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
vavaxd
 

Similar a Как автоматизировать рутинные задачи или учимся разговаривать на змеином языке (20)

Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
Monkey Talk - кросс-платформенное средство автоматизации тестирования мобильн...
 
Мой Python всегда со мной!
Мой Python всегда со мной!Мой Python всегда со мной!
Мой Python всегда со мной!
 
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
Владислав Акулич - Monkey Talk - кроссплатформенное средство автоматизации те...
 
Проходим тест Джоэла
Проходим тест ДжоэлаПроходим тест Джоэла
Проходим тест Джоэла
 
Programming history. Algorithm
Programming history. AlgorithmProgramming history. Algorithm
Programming history. Algorithm
 
378 васильев куницын
378 васильев куницын378 васильев куницын
378 васильев куницын
 
Tech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест ДжоэлаTech Talks @NSU: Проходим тест Джоэла
Tech Talks @NSU: Проходим тест Джоэла
 
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
Встраивание Python в мобильные приложения – нюансы interoperation, новые подх...
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥
 
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментовНепрерывная интеграция и автотесты. Сравнительный анализ инструментов
Непрерывная интеграция и автотесты. Сравнительный анализ инструментов
 
Automated tests ci
Automated tests ci Automated tests ci
Automated tests ci
 
Algorithms and programming lecture in ru
Algorithms and programming lecture in ruAlgorithms and programming lecture in ru
Algorithms and programming lecture in ru
 
Алгоритмизация и программирование С/С++
Алгоритмизация и  программирование С/С++Алгоритмизация и  программирование С/С++
Алгоритмизация и программирование С/С++
 
Шаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проектеШаги мануальщика к автоматизации на крупном проекте
Шаги мануальщика к автоматизации на крупном проекте
 
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
SECON'2017, Мухаметов Андрей, XCTest. UI и Unit тестирование для iOS.
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
 
6
66
6
 
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
409bb948 9463-4d6b-b885-63955ea67f1e-210512195958
 

Más de SQALab

Más de SQALab (20)

Готовим стажировку
Готовим стажировкуГотовим стажировку
Готовим стажировку
 
Куда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщикаКуда приводят мечты? или Искусство развития тестировщика
Куда приводят мечты? или Искусство развития тестировщика
 
Оптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержкиОптимизация Selenium тестов и ускорение их поддержки
Оптимизация Selenium тестов и ускорение их поддержки
 
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программированияАвтоматизация 0.0: 0 - бюджет, 0 - опыт программирования
Автоматизация 0.0: 0 - бюджет, 0 - опыт программирования
 
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
Нагрузочное тестирование нестандартных протоколов с использованием Citrix и J...
 
Continuous performance testing
Continuous performance testingContinuous performance testing
Continuous performance testing
 
Конфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нуженКонфиги вместо костылей. Pytestconfig и зачем он нужен
Конфиги вместо костылей. Pytestconfig и зачем он нужен
 
Команда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихииКоманда чемпионов в ИТ стихии
Команда чемпионов в ИТ стихии
 
API. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советовAPI. Серебряная пуля в магазине советов
API. Серебряная пуля в магазине советов
 
Добиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестовДобиваемся эффективности каждого из 9000+ UI-тестов
Добиваемся эффективности каждого из 9000+ UI-тестов
 
Делаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIsДелаем автоматизацию проектных KPIs
Делаем автоматизацию проектных KPIs
 
Вредные привычки в тест-менеджменте
Вредные привычки в тест-менеджментеВредные привычки в тест-менеджменте
Вредные привычки в тест-менеджменте
 
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизацииМощь переполняет с JDI 2.0 - новая эра UI автоматизации
Мощь переполняет с JDI 2.0 - новая эра UI автоматизации
 
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качествеКак hh.ru дошли до 500 релизов в квартал без потери в качестве
Как hh.ru дошли до 500 релизов в квартал без потери в качестве
 
Стили лидерства и тестирование
Стили лидерства и тестированиеСтили лидерства и тестирование
Стили лидерства и тестирование
 
"Давайте не будем про качество"
"Давайте не будем про качество""Давайте не будем про качество"
"Давайте не будем про качество"
 
Apache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектовApache.JMeter для .NET-проектов
Apache.JMeter для .NET-проектов
 
Тестирование геолокационных систем
Тестирование геолокационных системТестирование геолокационных систем
Тестирование геолокационных систем
 
Лидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопросЛидер или босс? Вот в чем вопрос
Лидер или босс? Вот в чем вопрос
 
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
От Зефира в коробке к Structure Zephyr или как тест-менеджеру перекроить внут...
 

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