SlideShare a Scribd company logo
Continuous test automation in
build pipeline
Hello!
I am Dmitry Lemeshko
Mobile QA Automation @ FrontierCarGroup, Berlin
@AutomateMeNow
Stackoverflow: dmle
2
Frontier Car Group
● 6 markets
● 3 web apps
● mobile apps
● ~20 microservices
3
Automation started
4
5
1
Build APK
Build points to Staging
environment & uploaded
to Google Storage
Run tests
Specify branch, run tests
on emulators, analyse
results and report to
developers
2
Gitlab CI
Android
pipeline
Test
automation
pipeline
First result
● Android/iOS tests in same repo
● Regression testing on master
● Run on Staging env
● Use local emulators
6
Problems
● Hard to maintain tests
● No full control over test env
● Hard to scale
● Bugs are spotted lately
● Lack of interests from dev team
7
Lets think
What do we want to achieve?
8
Continuous
mobile test
automation
It sounds good, right?
9
New pipeline
10
1
Build APK
Build points to isolated
environment & uploaded
to Google Storage
Deploy services
Specified branch for each
service, services are up-
and-running
2
Run tests
Take recent APK and run
tests on random device
from market pool
Upload artifacts to gitlab
CI job
3
Attach artifacts
4
Steps to do
● Move tests to Android/iOS project repos
● Configure test environment from tests
● Configurable end-points in mobile apps
● Integrate device cloud service
● Build in android pipeline
11
Split & move:
12
Mobile tools iOS testsAndroid tests
● page objects
● tests & hooks
● wd.js wrapper
● setup, logging
● cloud utils
13
Admin Web tests
New structure:
AUT
source
code
Dealer Web tests
Customer Web tests
Dealer iOS tests
Dealer Android tests
Web tools Tools (API/common) Mobile tools
Configure deployment from tests
● List services and branches
"services": [
{"name": "serviceDealer", "branch":
"master"},
{"name": "serviceAuction", "branch": "AUC-
270"}
]
● Specify env prefix
"prefix": "automation2.test14" 14
Custom mobile build for tests
That points to API with prefix configured before
15
Integrate cloud service
● Upload new builds from Google Storage
● Manage available devices
● Run tests in a single session*
● Handle cloud session time limit
● Set results and pull artifacts
16
Update pipeline
● Update docker image
● Add new job & gitlab CI runner
● Trigger for merge request:
○ Target branch is master
○ In sync with master
○ No WIP in title
○ Marked with `Reviewed` label
17
Update .gitlab-ci.yml:
deployAndUItests:
stage: build
script:
- export branch=$(echo $CI_BUILD_REF_NAME | tr
"[:upper:]" "[:lower:]" | sed "s/(da-[0-9]*).*/1/")
- bash /build.sh
...
- npm run deploy
- export appiumService=testobject env=automation
- npm run smoke
18
Update .gitlab-ci.yml:
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
when: always
paths:
- tests/uiTests/screenshots
expire_in: 4 weeks
allow_failure: false
only:
- triggers
19
20
Before
● Testing after MR
● Shared non-flexible test env
● Self support for appium &
devices
● Tests maintenance on QA
● Results reporting delay
What do we get?
Now
● Testing before MR
● Isolated configurable test env
● Cloud service
● Tests maintenance is shared
QA/Dev
● Results in build pipeline
21
Flexibility
Any environment, any version of services
Shared maintenance
Developers are fixing tests :)
Fast feedback
Developers get results faster & directly
22
23
iOS project
coming next...
24
Thanks!
Any questions?
You can find me at @AutomateMeNow

More Related Content

PPTX
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
PDF
Load impact insights webinar
PPTX
Automating load testing with CI integration slideshare
PDF
Alexey Kupriyanenko "Release Early, Often, Stable"
PDF
Performance testing in the cloud webinar jul 2018
PPTX
CI/CD with Bitbucket pipelines
PDF
Build pipelines with TeamCity
PDF
Build pipelines with TeamCity
Roman Iovlev. Comaqa Spring 2018. Архитектура Open Source решений для автомат...
Load impact insights webinar
Automating load testing with CI integration slideshare
Alexey Kupriyanenko "Release Early, Often, Stable"
Performance testing in the cloud webinar jul 2018
CI/CD with Bitbucket pipelines
Build pipelines with TeamCity
Build pipelines with TeamCity

What's hot (20)

PDF
Build pipelines with TeamCity
PPTX
TCE Automation
PDF
Automated Testing in DevOps
PDF
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
PDF
Alon Fliess: APM – What Is It, and Why Do I Need It? - Architecture Next 20
PPTX
Jenkins as the Test Reporting Framework
PDF
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
PPTX
Configuration As Code: The Job DSL Plugin
PPTX
Making Angular2 lean and Fast
PDF
Putting Quality First through Continuous Testing
PDF
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
PDF
Product update aug_29
PDF
Continuous Delivery with Cloud Foundry
PDF
DevOps: Find Solutions, Not More Defects
PDF
Apollo. The client we deserve
PPTX
Modern software testing and processes 2019
PDF
James Baxley - Statically typing your GraphQL app
PPTX
What's new in c# 8.0
PDF
OSMC 2008 | Lessons in Nagios Learnt From Developing Opsview by Ton Voon
PDF
Go.cd - the tool that Jenkins ain't
Build pipelines with TeamCity
TCE Automation
Automated Testing in DevOps
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
Alon Fliess: APM – What Is It, and Why Do I Need It? - Architecture Next 20
Jenkins as the Test Reporting Framework
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Configuration As Code: The Job DSL Plugin
Making Angular2 lean and Fast
Putting Quality First through Continuous Testing
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
Product update aug_29
Continuous Delivery with Cloud Foundry
DevOps: Find Solutions, Not More Defects
Apollo. The client we deserve
Modern software testing and processes 2019
James Baxley - Statically typing your GraphQL app
What's new in c# 8.0
OSMC 2008 | Lessons in Nagios Learnt From Developing Opsview by Ton Voon
Go.cd - the tool that Jenkins ain't
Ad

Similar to Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pipeline (20)

PDF
Continuous mobile automation in build pipeline
PPTX
Building High Quality Android Applications
PDF
Scaling mobile testing on AWS: Emulators all the way down
PPT
SOASTA Webinar: Process Compression For Mobile App Dev 120612
PDF
MBLTDev15: Brigit Lyons, Soundcloud
PPTX
Build Automation in Android
PDF
Exercising and Scaling Up Mobile DevOps in the Enterprise
PDF
Cloud-Based, Automated Mobile App Testing for the Enterprise
PPTX
CI in the mobile world
PDF
Test Automation for Mobile Applications
PPTX
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
PDF
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
PDF
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
PPTX
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
PPTX
Device lab trials and tribulations
PDF
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
PPTX
The Role of Automation in Mobile Continuous Testing
PPTX
SeeTestAutomation - Mobile Test Automation Tool by Experitest
PDF
Mobile DevOps with VSTS and AppCenter
PPTX
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Continuous mobile automation in build pipeline
Building High Quality Android Applications
Scaling mobile testing on AWS: Emulators all the way down
SOASTA Webinar: Process Compression For Mobile App Dev 120612
MBLTDev15: Brigit Lyons, Soundcloud
Build Automation in Android
Exercising and Scaling Up Mobile DevOps in the Enterprise
Cloud-Based, Automated Mobile App Testing for the Enterprise
CI in the mobile world
Test Automation for Mobile Applications
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Device lab trials and tribulations
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
The Role of Automation in Mobile Continuous Testing
SeeTestAutomation - Mobile Test Automation Tool by Experitest
Mobile DevOps with VSTS and AppCenter
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Ad

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
PPTX
Моя роль в конфликте
PPTX
Организация приемочного тестирования силами матерых тестировщиков
PPTX
Развитие или смерть
PPTX
Системный взгляд на параллельный запуск Selenium тестов
PPTX
Эффективная работа с рутинными задачами
PPTX
Как стать синьором
PPTX
Open your mind for OpenSource
PPTX
JDI 2.0. Not only UI testing
PPTX
Out of box page object design pattern, java
PDF
Static and dynamic Page Objects with Java \ .Net examples
PDF
Design Patterns for QA Automation
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
Моя роль в конфликте
Организация приемочного тестирования силами матерых тестировщиков
Развитие или смерть
Системный взгляд на параллельный запуск Selenium тестов
Эффективная работа с рутинными задачами
Как стать синьором
Open your mind for OpenSource
JDI 2.0. Not only UI testing
Out of box page object design pattern, java
Static and dynamic Page Objects with Java \ .Net examples
Design Patterns for QA Automation

Recently uploaded (20)

PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PPTX
Funds Management Learning Material for Beg
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PDF
Testing WebRTC applications at scale.pdf
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PDF
WebRTC in SignalWire - troubleshooting media negotiation
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PPTX
introduction about ICD -10 & ICD-11 ppt.pptx
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PPTX
Digital Literacy And Online Safety on internet
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
522797556-Unit-2-Temperature-measurement-1-1.pptx
Funds Management Learning Material for Beg
PptxGenJS_Demo_Chart_20250317130215833.pptx
An introduction to the IFRS (ISSB) Stndards.pdf
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Decoding a Decade: 10 Years of Applied CTI Discipline
Tenda Login Guide: Access Your Router in 5 Easy Steps
RPKI Status Update, presented by Makito Lay at IDNOG 10
Testing WebRTC applications at scale.pdf
SASE Traffic Flow - ZTNA Connector-1.pdf
INTERNET------BASICS-------UPDATED PPT PRESENTATION
The New Creative Director: How AI Tools for Social Media Content Creation Are...
WebRTC in SignalWire - troubleshooting media negotiation
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
introduction about ICD -10 & ICD-11 ppt.pptx
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
Digital Literacy And Online Safety on internet
Job_Card_System_Styled_lorem_ipsum_.pptx

Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pipeline

  • 1. Continuous test automation in build pipeline
  • 2. Hello! I am Dmitry Lemeshko Mobile QA Automation @ FrontierCarGroup, Berlin @AutomateMeNow Stackoverflow: dmle 2
  • 3. Frontier Car Group ● 6 markets ● 3 web apps ● mobile apps ● ~20 microservices 3
  • 5. 5 1 Build APK Build points to Staging environment & uploaded to Google Storage Run tests Specify branch, run tests on emulators, analyse results and report to developers 2 Gitlab CI Android pipeline Test automation pipeline
  • 6. First result ● Android/iOS tests in same repo ● Regression testing on master ● Run on Staging env ● Use local emulators 6
  • 7. Problems ● Hard to maintain tests ● No full control over test env ● Hard to scale ● Bugs are spotted lately ● Lack of interests from dev team 7
  • 8. Lets think What do we want to achieve? 8
  • 10. New pipeline 10 1 Build APK Build points to isolated environment & uploaded to Google Storage Deploy services Specified branch for each service, services are up- and-running 2 Run tests Take recent APK and run tests on random device from market pool Upload artifacts to gitlab CI job 3 Attach artifacts 4
  • 11. Steps to do ● Move tests to Android/iOS project repos ● Configure test environment from tests ● Configurable end-points in mobile apps ● Integrate device cloud service ● Build in android pipeline 11
  • 12. Split & move: 12 Mobile tools iOS testsAndroid tests ● page objects ● tests & hooks ● wd.js wrapper ● setup, logging ● cloud utils
  • 13. 13 Admin Web tests New structure: AUT source code Dealer Web tests Customer Web tests Dealer iOS tests Dealer Android tests Web tools Tools (API/common) Mobile tools
  • 14. Configure deployment from tests ● List services and branches "services": [ {"name": "serviceDealer", "branch": "master"}, {"name": "serviceAuction", "branch": "AUC- 270"} ] ● Specify env prefix "prefix": "automation2.test14" 14
  • 15. Custom mobile build for tests That points to API with prefix configured before 15
  • 16. Integrate cloud service ● Upload new builds from Google Storage ● Manage available devices ● Run tests in a single session* ● Handle cloud session time limit ● Set results and pull artifacts 16
  • 17. Update pipeline ● Update docker image ● Add new job & gitlab CI runner ● Trigger for merge request: ○ Target branch is master ○ In sync with master ○ No WIP in title ○ Marked with `Reviewed` label 17
  • 18. Update .gitlab-ci.yml: deployAndUItests: stage: build script: - export branch=$(echo $CI_BUILD_REF_NAME | tr "[:upper:]" "[:lower:]" | sed "s/(da-[0-9]*).*/1/") - bash /build.sh ... - npm run deploy - export appiumService=testobject env=automation - npm run smoke 18
  • 19. Update .gitlab-ci.yml: artifacts: name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" when: always paths: - tests/uiTests/screenshots expire_in: 4 weeks allow_failure: false only: - triggers 19
  • 20. 20
  • 21. Before ● Testing after MR ● Shared non-flexible test env ● Self support for appium & devices ● Tests maintenance on QA ● Results reporting delay What do we get? Now ● Testing before MR ● Isolated configurable test env ● Cloud service ● Tests maintenance is shared QA/Dev ● Results in build pipeline 21
  • 22. Flexibility Any environment, any version of services Shared maintenance Developers are fixing tests :) Fast feedback Developers get results faster & directly 22
  • 24. 24 Thanks! Any questions? You can find me at @AutomateMeNow