Sargis Sargsyan has been in the software industry for more than ten years. After working web automation development for seven years he switches to the Mobile industry.
Agile and teamwork believer with an experience working in distributed international teams, using Agile/Scrum/Kanban methodology. He was a part of solid industries specialized in Mobile, Web, SaaS, and Enterprise applications. During his career, he had a chance to work with American, German, Czech, and Armenian companies.
Passionate about public speaking and knowledge sharing.
Building in House Scalable Mobile Lab for Automation
It is becoming more and more challenging to test mobile apps on different devices, with different screen sizes, running different operating systems. During the development of a mobile app, we can easily verify and test the app on a mobile simulator or emulator. However, only simulator or emulator testing isn't enough, we need to make sure that our app works on devices that our users carry with them in their pocket.
Creating an in-house Automation Mobile Lab will be a good decision if you're looking to do automated testing, for example with Selenium and Appium.
A year ago we started our journey of creating a scalable automation mobile device lab which allows us to run more than 2000 Appium tests on a daily basis.
During this talk I will share the experience that we gain during our long journey of creating our Scalable Automation Device Lab and the solution that allows us easily integrate it with CI tools.
Appium Dockerization: from scratch to advanced implementation
How to Dockerize Parallel Execution of Selenium Tests
Reducing end to end test execution time is key for software development life cycle that wish to implement continuous integration and delivery. Selenium WebDriver allows us to run e2e tests on web applications in different browsers. As it runs across many browsers and operating systems there are lots of possible capabilities to test. This workshop will help you to get started with the setup of dockerizing parallel execution of Selenium tests by cutting your test runtime up to 10 times. We’ll also look at how to run tests against a number of browsers and capabilities.
Easy Setup for Parallel Test Execution with Selenium Docker
Parallel execution of test cases is one of the important requirements of a modern test automation framework.
Generally, to run Selenium Suite in parallel, we use selenium grid and distributing tests across multiple machines which will reduce the time required for running tests. To run tests in parallel, we need to configure Selenium Grid with Hub and Nodes where the hub is the central point which will receive test requests along with configurations or capabilities. Based on the request received, the hub will distribute tests to the registered nodes.
Selenium has made a set of Docker images which are available on Docker Hub. We have Selenium Grid, and the browser images - Chrome and Firefox. There are also images with the debug versions which will let as view the test execution.
In this session, we will go through the Selenium tests parallel run setup and configuration.
Make Your Selenium Suite Faster and Reliable: Test Setup with REST APIs
Performance is one of the main painful areas of Selenium suits. Usually, engineers trying to login, logout, navigate, create data, execute an action from the UI via Selenium, then, in the end, performing test assertions. This creates serious performance issue for the Selenium suite and makes Selenium tests more brittle. Also, the problem solution could be better if the test data creation and deletion also will be done before Selenium will open the browser. This will help to create independent tests later to be able to run them in parallel.
Test Data Preparation: Tips and Tricks
Performance is one of the main painful areas of Selenium test. One of the most important points of improvements is Test Data creation and clean up. In this talk, we will discuss how to create test data via HTTP requests and clean it after the test run.
Optimization of the Selenium suite is important for us. In this talk, I will present how to create HTTP requests builder to create and clean up test data after the Selenium test run. This will help you to prepare particular situation before logging into web application via Selenium and test the exact functionality you need. After the test run the cleanup should be done again with HTTP request to avoid performance issues and minimize flakiness for other tests in the suite.
In addition, I will also present how to use HTTP code to set up session cookie and make configurations then extract cookie and pass to Selenium, which will help to skip logging in from UI for every test.
Better Page Object Handling with Loadable Component Pattern
One of the painful problems in Selenium automated testing is determining whether a HTML page has been loaded. This is especially the case when web application uses a JS heavy framework such as the popular AngularJS.
During this talk we will discuss how to handle Selenium Page Object pattern better with Loadable Component.The Loadable Component helps test case developers make sure that the page or a component of the page is loaded successfully. I will share my experience about the concept of the Loadable Component and Page Object patterns.