Have something to share about Test Automation or WebDriver?
Become a speaker now

Archive for January, 2016

Good tests change your application

There are various approaches to write automated tests: unit tests, API calls, Selenium of course. I want to show how to perform the same checks on various application levels and what changes are required to make it possible. We’ll write together Ruby on Rails application and adopt it to our needs. Ruby knowledge is not really required to understand the presentation: only your desire and engineering attitude.

Igor Khrol

Automated testing specialist at Toptal. About 10 years experience in test automation in various roles: engineer, architect, manager, consultant, trainer. Experience in the majority of popular tools (Selenium, HP QTP, TestComplete, JMeter). Currently I’m programming mostly in Ruby but used to write in other languages (Python, Java, C#, JavaScript, VBScript).


IntroPro is a privately held service company that specializes at complete development and integration life cycle of complex distributed enterprise applications, embedded software products for digital TV broadcasting, Telecommunication Services, Financial, E-Commerce applications and software products for other industries. The company was established in 2008. By today more than 100 long term projects have been completed and the number of employees has exceeded 320 persons. IntroPro is a Certified Oracle Gold Partner. IntroPro is a market leader for RVU protocol-centric tools, products and services. The company has a considerable set of tool products dedicated to RVU protocol specification verification and certification. Production sites are located in Kiev, Ukraine. Major clients of IntroPro are DIRECTV, RVU Alliance.



Capabilities and Advantages

All IntroPro staff have a high level of education in Computer Science, Information Technologies and Applied Mathematics degrees from leading Ukrainian technical universities. The majority of engineers had graduated from the National Technical University of Ukraine and National Taras Shevchenko University with a M.S. degree. Senior members have 6 to 15 years of work experience. Majority of IntroPro staff possess extensive experience working for big international IT, Telecom and Software companies.


Ready Resources to start New Project
Today IntroPro has resources that can be quickly assigned to a new Project or a new Customer. Advantage here is that the planned core resources can be relocated to the project from the bench.

Ability to make a quick additional staffing

IntroPro can make a quick additional staffing of the new project or account team. This is due to IntroPro effective HR practices combined with a good knowledge of local human resources market. IntroPro has a good reputation on the market with numerous advantages to the competitors.

Responsible partner ready for tight project schedules

IntroPro and its customers’ cooperation experience prove that IntroPro can meet the most tight schedule requirements.

Competitive rates and prices

Competitive rates and prices make an important advantage of IntroPro to the competition.

Flexible contract options

  • Flexible contract options
  • Fixed Price for customers with clearly defined requirements Time and Materials (for customers with projects in the process of being defined)
  • Hybrid — Time and Materials as the architecture and specs are defined, then a Fixed Price for implementation

Secure and safe development facilities

  • Safety and security of all project data is supported by the latest IT security technologies and are backed-up on regular basis
  • Source code is committed or pushed to Customer’s Source Control Infrastructure
  • Access to Customer’s servers and farms is over dedicated VPN link.



Project Management and Project Lifecycle

IntroPro is a project-oriented company with small management personnel overhead. Unified project management and SDLC methods used for majority of projects are Agile and Waterfall. Project management practices used in a company are closely following PMI organization recommendations. All project managers are capable to personally perform the most difficult tasks as the developers. This ensures that the project team members will be closely controlled and given a good advice. For project management IntroPro uses MS Project, Trac and other products. Also, for many projects the customer’s project management systems are used by the customer’s demand. Detailed weekly reports and if needed daily reports are the basis of successful projects’ progress information exchange with the customer.

For effective information and data exchange with customer following instruments are used:

  • Online weekly and daily meetings through WebEx tool
  • Repository of project working documents available for project teams from both sides

Key employees of IntroPro are often present at customer’s site at crucial phases of the project based on a customer’s demand – requirements specification clarification, initial design, deployment of application. For account management two approaches are practiced. First, a custom system is developed for specific customers. Second, a customer’s account/project management system is to be used when IntroPro managers had a direct access to the customer’s system. The choice here is to the customer.



Enterprise Applications Department

Applications Department is dedicated to execution of projects in the area of Enterprise Grade systems, Telecommunication services, E-Commerce and Financial software products
Enterprise Applications Department has a body of 140+ engineers specialized in enterprise applications analysis, development, integration and support. Knowledge of big number of modern operating systems and enterprise software development environments makes IntroPro specialists ready to fulfill the most challenging projects. IntroPro engineers have good expertise in Service-Oriented Architecture (SOA), Enterprise Service Bus (ESB) and Business Process Management (BPM) technologies. To realize SOA/ESB/BPM technologies the robust and reliable middleware platform and products are used from the leading industry vendors, like Oracle. IntroPro has a strong Analysts Team who are experts in existing customer’s systems analysis with conversion the applications to the new middleware architecture. IntroPro has developed a powerful tool for enterprise application analysis and transition to the SOA/ESB/BPM archtecture. IntroPro specialists are experienced with enterprise applications development, integrationm, migration for digital TV broadcasting, telecommunication and finance industries.



Embedded Systems Department

Systems Department is involved in Embedded Systems and Mobile Applications Projects in highly specialized areas like Broadcast Television Set Top Boxes, Home Media Systems and GPS based systems. IntroPro has a body of 160+ engineers specialized in embedded and mobile software development and support. Knowledge of several operating systems is a must for Embedded Software Department engineers and usually includes Linux, Unix, QNX, Windows, iOS and Android . For a programming platform practically all IntroPro engineers are able to use C++, ObjectiveC and Java. This is a good advantage since majority of embedded and mobile systems use a mix of these programming technologies. Additionally there is an extensive list of other operating systems and development platforms where IntroPro engineers are keen. Having a good knowledge of embedded software development IntroPro engineers are also experienced in developing the PC-based tools that operate connected to the embedded systems. IntroPro specialists are experienced with satellite and cable TV set top boxes (STB) software technologies (Linux, STB software services and applications, drivers etc.), iOS and Android mobile applications development with a strong integration with Cloud services and Enterprise systems.



Quality Assurance Teams

Software-Quality-AssuranceIntroPro has a strong and dedicated Quality Assurance teams who are engaged in testing projects for both Embedded Software and Enterprise Applications Departments. QA knowledge gamut covers both industrial testing for Embedded Sevices, Functional manual testing for End User appliances like multiple hardware versions of Set Top Boxes, automated and Continuous Integration driven functional, performance and soak testing of Enterprise-grade server products.




RVU Technology Team

IntroPro specialists have a deep knowledge of RVU technologies and RVU protocol specification. IntroPro was engaged in several RVU protocol-centered projects (see RVU Technology). Having starting these projects nearly 5 years ago when the first version of RVU protocol specification was introduced, byt today IntroPro specialists have accrued extensive RVU technology skills and experience including implementation of RVU stack. This makes to IntroPro an important advantage when participating in RVU technology-based projects.




Why to work at IntroPro and no to go to Outsourcing giants or hot startups? We provide long term stability in career, steep growing salary curve, and the most important, we give a chance to work with latest technologies which are hot trends at IT market both in Enterprise, Telecom and Embedded areas. You will have an opportunity to emerge into Java SOA Middlware stack, Distributed Data and Computational Grids, Big Data technologies, High Performance and Low Latency algorithms and paradigms with a lot of Enterprise Java, Linux with C++ and Embedded Java with an emphais on tuning application for low memory footprint and reduced CPU consumption.





We understand the crucial role of education in the high-technology sector. The IntroPro Academy was created as a platform for knowledge sharing and growing technical talent. We are committed to invest in our technical expertise and keep our competitive advantages — pragmatical approach to problems, smart solutions, cutting edge technologies and high quality standards. We look at Academy as the place to share technological experience between teams, provide insights and project retrospectives, keep tech talks on advanced technologies, best tools and innovative development approaches.


We are a mature Software Engineering Service Company, with offices and development centers worldwide. Recognized as a Leader in Product Development in CEE, once again in 2013 “Global Services 100″. Company is publicly listed on the New York Stock Exchange.




So, what’s cool about going Java at EPAM in particular?

  • Do great things that matter. Big-scale projects, which involve development of the very core of the client’s products.
  • Opportunities near and far. Cross-location teams with deep technical expertise around the world.
  • We need your expertise. Big Data, Hadoop, Spring-based Hybris & Oracle ATG platforms, Semantic Web, Natural Language Processing, Data Mining are just some of technologies what we’re up to.
  • Be a part of the industry’s biggest breakthroughs. We create truly cutting-edge E-Commerce software, as well as other enterprise solutions using Scaled Agile Framework methodology.
  • Bring your dedication to our team. Stable company, which grows every day with new cool projects and awesome people.
  • No limits of what you could accomplish. Trainings for all employees, plus mentoring for juniors.
  • Always on the technology cutting edge. Those who want to be a Java Solution Architect, a Java Competency Center Expert or even a Delivery Manager can get experience taking part in global technology initiatives within EPAM.

For more information about EPAM and career opportunities please visit www.epam.com/careers/ukraine


Painless cross-platform UI acceptance testing as a part of CD workflow

In this talk I’ll share our successful experience of building reliable and scalable cross-platform automated acceptance test suite for a product called Citrix Concierge.

The product is built on a top of micro-services architecture. So, we will start from a brief introduction to a test strategy that was defined for this product. Then we’ll dig a bit more into acceptance testing and cover such topics as architecture and implementation of cross-platform acceptance test framework. Also, we I’ll show how we’re doing implementation of isolated tests, parallel execution, running at a scale using docker, etc.

We’ll be talking about technologies like: ruby, cucumber, rspec, capybara, appium, selenium webdriver, factory_girl, browsermob-proxy, faye.

Vitalii Grygoruk

Senior Software Engineer in Test at Citrix (formerly Podio). During the last couple of years he’s working mainly on build engineering, continuous delivery implementation, DevOps, web and mobile test automation. 10 years of experience in Software Quality Engineering & Software Testing. Big fan of open-source software development. Contributor to appium, allure, capybara, browsermob-proxy, etc.

The Mobile Grid – Getting Started

In modern times we have many different cloud testing services to choose from. These cloud services are useful and help reduce the burden of building and maintaining your own Selenium Grid environment. However, there are many scenarios in which you need your tests running locally, such you work for a government (or agency) and cannot expose your data to the cloud, or the service costs are too expensive to run all tests on every commit.

This presentation will feature getting started with setting up your own mobile device grid. Running your tests in parallel and distributed, capturing critical report data (logs, screenshots, and video), and leveraging cloud test services (such as SauceLabs). I will also talk about the challenges and lessons I learned along the way.

Justin Ison

Justin is Senior Software Engineer at Microsoft (formerly 6Wunderkinder), the makers of Wunderlist. He has over sixteen years experience working on Software Quality, with the last six primarily developing server, web and mobile test automation. He is passionate about automation and love finding new efficient and effective ways to improve software quality.

Gathering metadata to help test better

Everyone knows about that one flaky test, or that one slow test, but no one ever fixes them. I will talk about how gathering metadata about your test runs can teach you about your tests, and help you test faster, smarter, and better. I will give examples from several years on the Developer Infrastructure team at Google, supporting the running of tens of millions of test cases using Selenium (and many more without) every day.

Daniel Wagner-Hall

Daniel has been a committer to the Selenium project since 2009, and spent several years on the Browser Automation team at Google, supporting millions of browser launches a day and both adding features to and fixing bugs in Selenium. He thinks you should probably use Selenium less than you do.

Effective UI tests scaling on Java

In this talk we’ll cover deep technical questions to get better understanding of some common issues and pitfalls we could face with while functional tests scaling:

– Static context: friend or enemy?
– Accurate Selenium Grid nodes’ identification: how to run tests on particular configuration?
– Generic DataProvider: how we can safely manage test data?
– Object pool: how to distribute unique entities between tests?
– Support tools: rebooting remote services and advanced screenshots processing.

You could find more information about this talk here.

Serhii Korol

6+ years experience in Software Testing. 4+ years experience in Web Automation. Strong expertise in creating test automation frameworks and raising up automation infrastructure from scratch. AT.INFO contributor and editor. Consultant and mentor.

Scaleable, PaaS Selenium Grid with Docker

The Selenium Grid is a vital piece of infrastructure for any serious Selenium WebDriver test automation solution. Many organizations find the setup and maintenance of a Grid a difficult and expensive task. While outsourced solutions exist, they are too slow for any real professional Continuous Integration or Continuous Delivery workflow, and are expensive.

The Selenium Docker project provides a very easy to setup, deploy, maintain, and use solution for running a Selenium Grid on Docker supporting Firefox and Chrome on Linux. This talk will present how to use the Selenium Docker project, how to implement it as a PaaS solution, how to connect to Selenium Docker VMs and watch a test running for debugging, and extensions such as video recording.

Test Automation for non-Web or Mobile apps with LeanFT

Selenium and its cousin Appium provide a powerful, open source solution for Test Automation for Web and Mobile applications, but what about native Windows apps, fat-client Java apps, fat-client C#/.NET apps, SAP, and other platforms?

HP’s LeanFT provides a powerful, standardized format for coding Automated Tests for Web applications, iOS and Android applications, SAP, .NET Web Forms, WPF, and Java applications in Java or C# that closely follows the Selenium/Appium paradigm: objects on the screen are identified via a locator, then can be queried for their content, type into, clicked on, etc. It is integrated into Eclipse and Visual Studio (with an IntelliJ version on the way), and provides an easy to use Object Identification Center for creating and embedding locators.
For anyone familiar with Selenium WebDriver or Appium Test Automation with Java, LeanFT provides an easy route to testing many different types of applications.

Alex Kogon

Alex Kogon has a long and broad experience as a software engineer, having worked as an architect, quantitative developer, senior manager, lead developer, CTO, coach, mentor, trainer, automation developer, devops implementer, and pretty much every other role imaginable since he was a teenager.

Alex started working heavily with test automation and continuous integration while working as a quantitative developer building complex mathematical options pricing models for banks and trading companies, where bugs can cost the company millions of dollars in minutes and have put many out of business. From this experience Alex became quickly convinced of the value of continuous integration and has helped many companies implement CI systems and adapt their culture to leverage them.

Autoscaled Distributed Automation

This talk will cover the key pain points of UI automation: Speed, Reliability and Monitoring!

From speed perspective it will be about the means to achieve distributed execution of UI automation using AWS and Selenium Grid aka Autoscaled Distributed Automation with the goal of “Running all the test within the time taken by the slowest test case”. This is something we implemented and currently running all our 9000+ UI tests round the clock as part of our pipeline.

I will also cover key learnings on how we achieved reliability with UI automation, how and why we are focusing on reducing the overall UI Test Cases. Moving away from having 100+ jenkins job to only very few, storing UI results into MongoDB and NodeJS based reporting for easy monitoring of results!

Ragavan Ambighananthan

Throughout his 14 years in Software Industry, Ragavan have worked as Test Automation engineer across various domains like Network Management, Mobile, comparison sites, online security and online travel.

Currently working in Expedia as Sr. Test Automation Engineer, guiding all teams on the best practices of UI automation, trying various new technologies for mobile, tools for parallelisation, cloud based solutions for cross browser and mobile testing automation.

Last couple of years gave him lots of opportunities in his current role to work on improving reliability of UI automation, parallelise the tests and find ways to store and produce nice reports that helps teams to get down to failure causes quickly!

Ragavan likes open source tools and have contributed to them in the form of bug fixes: TLB (Test Load Balancer), Cucumber, SeleniumGridScalaer, Selenium-Webdriver, SimLauncher, etc.

Time to mock back-end!

In this talk I want to show how to do automated testing of Web UI front-end faster, more reliable and accurate. Without back-end. With mocks. Is that possible? Let’s talk about this!

Applications are becoming more and more difficult for testing. It’s a time when we all must forget about the black box and the complex functional scenarios. It’s time to become real engineers.

Aliaksei Boole

Aliaksei is a not bad QA Engineer, they say. He has strong skills in web ui automation, especially in monkey patching via JS. He also works on performance testing and back-end API test automation. Aliaksei is open to new technologies and approaches. Not captured in relations with aliens.

Using WebDriver for automation testing of Web Players

Your web application use Web Players for showing Video, 3D objects, Flash,Flex or Unity 3D applications in browser? You can not configure Web Driver for access to UI Controls of your online Flash or Unity 3D game? Well, in this cases the best idea is to use Computer Vision technologies, and to connect Computer Vision framework with Web Driver.

OpenCVSharp is a free .NET library which give you opportunity to detect UI elements with help of image recognition algorithm. Using OpenCVSharp and Webdriver allows you to create test automation framework which can work with UI HTML elements of your web page and UI elements of your application which loaded in Web Player – Flash, Flex, Unity 3D – etc. Also, the above solution can be used for automation testing of web applications which connected with 3D graphics, Video, GIS, Games etc.

Used technologies: C#, OpenCV, WebDirver, WinApi32.

Viktor Losiev

Software tester which have passion to multimedia technologies. 4 years in Software testing. 3 years in Freelance Web Development.
Likes to create automation test scripts on C# and to test software solutions which closely connected with multimedia technologies.

Using Selenide on C# .NET

How many of us, C# engineers, dreamed of an extremely easy and really effective Selenium based framework/library? Like Selenide in Java. 😉 It happened that it’s not a big deal just to run Java Selenide on .NET via JNI. In this talk we will see how Selenide runs on .NET and what are the specifics based on its real usage in production. We also will get familiar with the tool that make all this possible – jni4net, and share experience of its usage to port Selenide, all the pros and cons.

Oleg Volodin

Oleg is a technical manager and entrepreneur with 10 years’ experience in product development. He builds a business from scratch, acquires customers and generates positive revenue stream. In the same time, he is a technical person. Thus, his hands-on skills are in the following technology areas:

– General: SOA, algorithms, TDD, AQA and DevOps.
– Web: C#, ASP.NET MVC, Entity Framework, Bootstrap, TypeScript, LESS.
– Mobile/cross-platform: C++, Objective-C, Qt, Apache Thrift, RabbitMQ.

Oleg is a big fun on strongly reliable architecture. By simple words, he dreams to create apps with technologies that does not allow compiling product if a business logic incorrect and app fails in user hands.

REST API autoscalable automation

When you’re facing with an open API testing, you know that the testing itself is not a single problem. The main goal of this report is to share an approach of autoscalable testing with a bonus in automatic documentation generation. Java 8, Junit, Allure report are used as a tool set.

Evgeniya Tymoschuk

6 years experience in IT. 4 years experience in test automation. AT.info knowlege contributor. The worst habbit is automate everything.

Grid Router – scalable and fault tolerant solution for grid

On the size of hundreds or even thousands browsers, stock Selenium grid works unstable and slow. It doesn’t scale and doesn’t provide fault tolerance.

In Yandex for many years we used client side balancing over multi-hub installation to solve these problems. It was easy when only testers did testing, when they used the same jUnit approach and ran tests in the same environment (our AQuA framework). But when developers joined testers and brought their JS and Python frameworks, we realized that client side approach doesn’t work for Yandex as a whole.

In 2015 we introduced Grid Router solution.

– It works like hub for tests.
– It provides fault tolerance and scales infinitely.
– It uses only stock Selenium packages.
– It works in a cloud and includes specific strategy for hubs in the cloud.
– It is open-source.

In almost a year of using and tuning we found out a lot about our solution, got an interesting and wide experience in setting up browser instances including IEs and mobile browsers and keep moving.

In my talk I want to dig into details of Grid Router solution, share our experience and plans.

Mikhail Levin

Head of testing tools service in Yandex. Experienced test and project manager with the profound knowledge of IT infrastructure, testing tools, manual testing and automation testing strategies. Has 11 years of testing and test management experience, 6+ years of successful team management experience.

Ideal test automation process or the full story about test pyramid

Everybody knows about test pyramid. It is always used on slides about test automation and presented on different conferences. But understanding test pyramid and its layers is not enough. There are more important questions: “how to find right balance for particular project?”, “how to build this pyramid from scratch for already running project?”, “what to do if you are limited in time and resources?”, “how to measure if your pyramid is good enough?”. In this talk I will bring some more “secret ingridients” on the table to make test pyramid concept really useful.

Selenide Alternative in Practice: Implementation & Lessons learned.

In this talk we will go deeper into specifics of porting Selenide from Java to other langauges using Python as a sample. We will make an overview of architecture and some tricks that make it effective and fast enough. Based on the presented information you will understand deeper how selenide-like wrappers work so you can implement it yourself for the language that still has no Selenide alternative. 😉 You also can use these ideas to enhance your current selenium based framework.

Selenide Alternative in Python: Introducing Selene

Fortunately today we have really easy and effective tool for Web UI Automation – Selenide for Java. In other languages the sky is not so blue and clean. 🙂 But world is changing and today we are meeting Selene – its alternative in Python. Selene also gathered ideas from other popular selenium framework in Java – htmlelements, which gives ability to construct your own custom elements in addition to simple WebElements. In this talk we will define the key features that make an abstract selenium wrapper really effective and will see how to use them with Selene in Python.

Iakiv Kramarenko

7 years in IT with main focus in QA Automation of web applications, building QA and Software Development processes. Passionate of IT, new ideas and innovations in mobile and web. Likes programming in general, loves Clojure and Nim, liked Python and Ruby. Strong believer and disciple of Agile and XP. Polyglot Programmer. Perfectionist. Coach. Creator of Selene – concise Python wrapper over Selenium.