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

Archive for January, 2017


Levi9 is the new generation IT Service Company, which is extremely committed and accountable to its customers and its people.

We are extremely committed and accountable to our customers and our people. We firmly believe in being transparant, pro-active and result driven.

Company Overview
Levi9′s Head Office is located in Amsterdam, Netherlands. The company operates under Dutch legislation and complies with EU standards for Intellectual Property Protection (IPR).

Transparency is a unique treat of Levi9. Our flat organizational structure fosters openness and creates clarity with regard to duties and responsibilities. Our business consultants and project specialists are in a direct connection with the customer team working together towards achieving the best result.

Levi9 is a trusted IT service and outsourcing provider with delivery centres in Eastern Europe. Our client base consists of companies like Exact, TomTom and De Telegraaf Media Groep who chose Levi9 to improve their IT capacity and accelerate their business. Our specialists assist companies at every stage of their IT/business transformation from technology selection to application development, system integration and maintenance.


Test automation tool Q&A panel

We invited experienced speakers to share their vision on modern test automation tools used in our industry at the moment. In addition following topics will be discusssed:

– trends in test automation;
– requirements to modern test automation engineer;
– best programming languages for test automation.

If you have questions to discuss with experienced professionals it is right place and time to do it.

Smart Integration Tests with Smart Mocks

Almost all systems actively integrate with external services. Some of these external dependencies are legacy and slow, while some are modern and fast. Problems occur when we want to test our system in an isolated predictable environment. This is very important because in the opposite case, tests become flaky and unreliable causing the effectiveness of testing to decrease very quickly. Therefore, when testing is done with real external dependencies, the following factors could affect it: network issues, slow responses, unexpected failures, data corruption, access issues, etc. This tends to occur more often when external systems are legacy. Every programmer has to face legacy code day after day. It might be ugly, it might look scary, and it has even been known to make a grown man cry. Creating automation testing in cases like these can easily turn your testing into a nightmare.

The first thing that can help is writing stubs for external dependencies and using them for testing purposes. Another problem arises immediately: stubs fix external behaviour and nobody can guarantee that it will remain the same forever, especially if the service is under active development. Because of this, you need not only to have stubs written but also to regularly inspect changes in behaviour and adapt them. These activities significantly increase our development efforts in the testing area. Of course, such stubs should be able to work with legacy SOAP-based systems.

This presentation shows The Smart Stub as one of the solutions to simplify your life and make testing great again. Here are a few scenarios where The Smart Stub can be used. The Smart Stub can be used for local needs and on the CI pipeline as well, allowing for automation of the following activities.

– Running existing tests using The Smart Stub as a proxy to record all request and response pairs.
– Creating flexible matching rules for requests based on recorded data.
– Customizing responses with flexible data replacement rules to ensure they’re always up-to-date.
– Using The Smart Stub in replay mode when all matched requests are processed by The Smart Stub and actualized recorded response is returned. All non-matched requests are passed through and recorded for future usage.
– Recording request and response pairs could be scheduled for comparison to real service in order to detect changes in external behaviour as quickly as possible.

Ihor Herasymenko

Senior Java developer at EPAM. Keen on performance testing and CI/CD clarity. Was playing a role of DevOps and key developer on the Smart Stub project.

Testing in Production – dangerous, scary or better?

We all run tests on safe, separate test environments. But what if let them loose on production systems? Is that dangerous, or is it worth the risk? This can seem daunting, but there are huge benefits. I’ll discuss some of the downsides to testing in isolated, unrepresentative test environments, before talking about my experiences of using Selenium to test in production as much as possible. I’ll demonstrate the benefits, like how we can turn automated tests into monitoring and early alerting systems for our production environments, and the steps we need to take to make sure our production tests don’t affect our users.

Jon Hare-Winton

Senior Automation Engineer at the Guardian. He worked originally as a manual tester, before moving into Automation and more general Development across the media, marketing and finance industries. Regular contributor to the Guardian developer blog. Has a passion for pushing the conceptions of what a Tester can be, and what Testing and Quality teams can deliver to wider software development, beyond conventional test practices.

Testing in the world of IoT

Have you ever wondered how to test a light switch? Can you imagine it being one of the biggest challenges in your career? There are nearly six billion IoT (Internet of Things) devices. By 2020, this number may triple. Undoubtedly, it is a rapidly developing area of IT market.

I will take the participants for a journey to the IoT world. It will be a talk about the challenges that any tester will face at some point. I will present the dangers and snares but also good practices and practical approach to E2E test automation for the IoT solutions.

The main question is: how to test application for end user among so much hardware equipment? Technical examples will be presented using Python languages and supported by physical devices.

Dawid Pacia

At the very beginning Dawid used to be a C++ developer. Meanwhile, he also combined a role of Scrum Master and an quality expert. Now, he is responsible for introducing CI approach on a company and teams level.

Fan of Agile approach to project management and products. He believes the time devoted to sharing knowledge and ideas enormously increases the chances for success. Addicted to following new technologies and to implementing optimal solutions. Loves challenges.

The proud owner of ISTQB Test Manager and Professional Scrum Master certificates. After hours, enthusiastically explores the nooks of Ankh Morpork.

Test automation patterns – not only Page Object

First thing that comes to mind if you think about patterns in test automation is Page Object pattern. Almost all know it and almost all use it, but it’s not the only software development pattern, that you can use in your test automation suites making them flexible and maintainable.

I would like to focus on two subjects. First show how to extend Page Object pattern and design your pages using factories and using how use entities in your tests in order to facilitate your assertions and make them clear and meaningful. Beneath that I would like to present how benefit from command and builders in your test code.

Pawel Maciejewski

Software test engineer with almost 5 years of professional experience. During career he participated in many project in different technologies and methodologies ranging from .NET desktop banking apps to complex web services.

Building Tests to Build Websites

Technologies like Squarespace, Salesforce, WordPress, or WIX are extremely popular for those who want to create a working website without necessary developer knowledge. In this talk, I would explore how Salesforce uses Page Object Model patterns to test its Communities platform which is used to develop websites for Salesforce users.

Throughout the talk, we will explore how multi-frame platform can be directly mapped to POM for Selenium Webdriver, and how client side code is developed to support this pattern.

The importance and complexity of these test framework is that it needs to be applicable for both platform and produced websites.

Dmitry Vinnik

Senior Software Engineer at Salesforce, who has been passionate about software quality since the very beginning of his career. Started as a Quality Engineer, he was able to bring test expertise into current role of a software engineer, and ensure a delivery of a high quality product.

His background involves studying Medicine, later transition into Bioinformatics field, and now being in a purely Software Engineering-centric area.

Secrets of successful test automation

Автоматизация тестирования является достаточно популярной темой, тем не менее мало в каких компаниях/проектах/командах она реализована действительно хорошо и приносит большую пользу. На данном тренинге будут обсуждаться насущные проблемы обеспечения качества и способы построения успешной сбалансированной автоматизации тестирования. Будет мало слайдов, много живого обсуждения, разбора реальных сценариев из жизни и разбор различных частей процесса автоматизации.

Программа будет сильно зависеть от уровня подготовки участников тренинга, но вот предварительный список тем, которые будут затрагиваться на тренинге:

  • Зачем нужна автоматизация тестирования, основные влияющие факторы.
  • Обзор основных проблем, антипаттерны.
  • Роли и участники процесса автоматизации тестирования, разделение ответственности.
  • Интеграция с разработчиками, командная работа.
  • Стратегия тестирования и технические решения, типы тестирования.
  • Инструменты и подходы для успешной автоматизации тестирования.
  • Интеграция с ручным тестированием.
  • Выбор областей для тестирования, учет рисков и ROI.
  • Инфраструктурные решения, изоляция окружений.
  • Метрики и отчеты, разные уровни изменения покрытия, быстрая обратная связь.
  • Скорость работы автотестов.
  • Интеграция с CI/CD процессом, построение delivery pipeline.

Мы ожидаем на тренинге людей, которые не просто хотят получить какие-то знания, но и готовы применять их на практике, улучшая процессы автоматизации тестирования в своих проектах/командах/компаниях.

WebDriver in practice

Вы уже определились, что хотите работать с инструментом WebDriver? Ваша команда уже внедрила этот инструмент, но вам очень сложно разобраться с тем, как его правильно использовать? Вы устали от ежедневных проблем и хотите возместить часы, проведенные на форумах в поисках решения проблем? У вас есть много вопросов, но не знаете, у кого спросить?

Практический тренинг для тестировщиков и разработчиков Java проектов по обучению работы с инструментом WebDriver призван решить ваши проблемы. Целых два дня вы не увидите ничего кроме флипчарта и среды разработки. Вы научитесь создавать проект по автоматизации Web приложений с нуля и строить на его основании хорошо поддерживаемую структуру тестов, применяя рефакторинг и ключевые дизайн паттерны.

Под чутким руководством тренера вы:

  • Научитесь работать с WebDriver API
  • Научитесь запускать и отлаживать тесты под разными браузерами
  • Увидите и попробуете решать нетривиальные проблемы при помощи WebDriver
  • Познакомитесь с основными паттернами проектирования тестов
  • Научитесь работать с динамическими страницами

Тренинг подразумевает 2 дня непрерывного программирования, потому запасайтесь терпением. Не ожидайте, что за 2 дня вы научитесь программировать на Java как гуру, даже 2-ух лет для этого недостаточно. Потому, чем лучше вы подготовитесь к тренингу, тем полезней он будет для вас! Почитайте основы программирования на Java в книгах, интернете. Ищите, практикуйтесь и готовьтесь к тренингу, где мы сможем полностью сфокусироваться на автоматизации тестирования web приложений с инструментом WebDriver.

Подробная программа

День первый

Модуль 1:

  • История проекта Selenium и его архитектура
    • Selenium Core
    • Selenium IDE
    • Selenium RC
    • Selenium Grid
    • WebDriver
    • Selenium 2/WebDriver
  • Проверка настройка среды разработки Java
  • Написание и запуск первого теста (Junit и TestNG)

Модуль 2:

  • Базовые возможности WebDriver API
    • Возможности локаторов
    • Работа с основными HTML тегами
    • Работа с браузером
    • Работа с окнами
    • Работа с алертами
  • Практика в написании тестов

Модуль 3:

  • Отладка тестов в debug режиме
  • Запуск тестов под разными браузерами
    • Internet Explorer
    • Google Chrome
    • Firefox
    • HtmlUnit
  • Запуск набора тестов

Модуль 4:

  • Tips & Tricks
    • Drag and drop
    • Double click
    • Click по координатам
    • Focus
    • Firefox profile
    • Выполнение JavaScript
    • Снятие снимков экрана
День второй

Модуль 5:

  • Создание Maven проекта
  • Работа с ожиданиями и AJAX элементами

Модуль 6:

  • Немного об OOP
  • Паттерны автоматизации с WebDriver
    • Bot Style
    • Page Object
    • Page Factory
    • Element Object
    • Step Object
    • Asserts Layer
    • Entity Classes
    • Data Driven

Модуль 7:

  • Запуск тестов на Jenkins
  • Запуск тестов через Selenium Grid
  • Рекомендации и советы тренера

The Colorful World of Visual Test Automation

In agile software development world, we are dealing with many test tasks such as user story testing, exploratory testing, check-list based testing, regression testing, performance testing, security testing in each sprint. Besides these testing activities, one of the test types which is considerably getting crucial is visual regression testing.

Visual regression testing focuses on to check visual contents and animations, page layout, and responsive design of a website/app. Because of the limits of human vision, human-based visual regression testing is generally error-prone and cumbersome. Hence, automation is inevitable. It enables us to run the tests much more precisely in a short time period. Also, it saves us a significant amount of time to deal with other manual test activities in each sprint.

In this talk, we will walk through well-known open-source and commercial solutions for visual test automation. We will learn which technologies they use, what type of visual tests they are suitable for, and their major differences between each other. Besides this overview, we will also make a real-life visual test automation demo by using Selenium, ImageMagick, and AShot.

Onur Baskirt

Onur Baskirt is a senior IT professional with 10+ years of experience. He worked at Bahçesehir University, ST Microelectronics, Huawei, Ericsson as a research assistant, design verification engineer, and software test leader. Also, he worked as software test leader and software operations manager at Turkey’s biggest technology retailer, Teknosa. Now, he is working as Head of Software Testing at Kariyer.net which is the market leader in Turkish online employment and recruitment market. At the same time, he is the co-owner and principal author of www.swtestacademy.com which is the highly visiting global software testing blog. His main research areas are technical software testing and DevOps practices.

Google, quality and you

If you think about tests rather than corn flakes whenever you hear the term “Flaky”, this talk might be for you.

I’ll share some thoughts about the relationship between quality and culture, the battle of manual VS. automation, and the notion of test pyramid. In addition, I’ll describe how we bake quality into products and processes at Google.

Eran Nelinger

Software Engineer with burning passion for automation and “baked-in” quality process. Works for Google the last 4 years. Worked for SAP for 7 years prior to that.

Visual regression and integration testing on JS

We passed a rapid path from manual testing and automated tests in Java as a separate codebase, which was being developed by a dedicated QA team, to the functional tests in JavaScript which are versioned with a project source code and are being developed by project developers.

I want to tell you why we had to create our own testing tools Gemini for visual regression testing and Hermione for functional testing. What challenges we faced and how we solved them.

Now everyone can follow our footsteps.

Pavlo Bashinsky

Programming has been a hobby for Pavlo at school. 4 years ago he joined Yandex. IT has become his profession from that moment. During these 4 years he has gained experience of development tools for building projects, common libraries and continuous integration. Pavlo believes in BEM. And that fact makes the development process faster, makes testing easier and makes delivery of the code without bugs.

Test State Pattern – For a Sane & Stable Automation

With more breaking points and less stability, E2E tests are very hard to maintain. The automation guild at WixEngineering have reduced the amount of flaky tests by utilizing what we define as the “Test State Pattern”, where every test transitions between states according to its behavior.

We will talk about the motivation, implementation and discuss how everyone can achieve the same.

Roi Ashkenazi

Head of Automation at Wix, Software Engineer for the past 10 years, not afraid to get hands dirty and enjoys deleting lines of code in free time.

Protractor framework – how to make stable e2e tests for Angular applications

Following topics will be covered during the talk:

– How to choose testing strategy?
– What patterns better to use?
– Protractor Tips and Tricks!
– Quick workshop and examples.
– Support tests and keep calm.

Ludmila Nesvitiy

More than 9 years of experience in software testing, SEO, Internet marketing. Ludmila is working with Selenium, Protractor, Jasmine, for automation testing web applications on Angular. The big goal of each QA – make projects more qualitative and usefull. Let’s do it!

An easy way to automate complex UI

This talk is a brief overview of how we deal with UI test architecture on our project. Complex backend, SPA as a frontend, 20+ different brands and 100+ features for each, more and more code.

We will discuss:

– fakes and test doubles, approaches how to build and maintain them;
– development patterns, which help you to make your architecture more simple, stable and readable;
– tips and tricks – how to make your life with UI tests easier.

Ivan Pashko

7 years in IT, 5 years in test automation as an automation engineer. Experienced in development with different frameworks (Watin, WeDriverJs, Protractor, Selenium WebDriver) on .Net and JavaScript.

Automated API tests with Postman

This talk will explain you that automation of API is not a challenge and everyone even with basic knowledge of programming language can create his own automated regression list using Postman.

We will review what is API and how to test it in general. Also we will learn how to make a Postman’s collection of tests and how to work with an environment variables. You will see how to run an automated API tests from Postman and from a command line.

If you do not know what is API and how to test it, but you want to do it and you are on your way to testing API, then this talk is just for you.

Oleksandr Chubatyi

Oleksandr is a Software QA Engineer. Has 2 years experience of manual testing and test automation for a year. Has skills in UI Test Automation with Selenide and Performance testing with Apache JMeter. He has been worked on financial project for more than 2 years and loves his job.

The wild wild west of Selenium capabilities

Not all desired capabilities where born equal:

– Some were born in the world of open source, while others were born as vendor proprietary properties.
– Some are mandatory, and some are optional.
– Some are clear and deterministic, others are vague and require reading and experimentation.
– Some make it easy to change vendors without breaking a sweat, while some will lock you into a specific implementation.

In this talk, I’ll explore the tradeoffs that a tester can make, and also explain the vendor point of view of the wild wild west of Selenium capabilities.

Adi Ofry

Highly skilled architect, manager & innovator. Has around 20 years of experience in product definition and development. Currently working as Chief Architect at HPE Mobile Center. Passionates about Appium, distributed systems, Docker, Kubernetes & DevOps.

End to End Test Automation for Both Horizontal and Vertical Scale

Test automation (TA) activity has become a key critical work to guarantee the quality of system under test (SUT) by driving test and also development effort effectively. To bring this efficiency to projects, companies are investing on TA projects in a more motivated way. The question here is how we should design the automation strategy to handle complex TA projects together effectively. It can be done by automating test scenarios as E2E (end to end). Vertical E2E TA consists of; automating Test Data Preparation Phase and Unit, Integration and UI tests. For horizontal E2E TA; UI and Integration test cases, which are automated, designed as integrated real user scenarios. I will tell about the prerequisites, principles and key factors to have E2E automated tests. And also I will share hands on experienced E2E test automation projects that Selenium was the key tool.

Erdem Yildirim

Software Test Architect. Designing and building software test organizations. Designing and integrating projects’ application life cycle work items. Having background as software developer in enterprise projects written in C++, .NET, J2EE.

Expertise in software test management, test process, testing methodologies/tools especially for test automation, exploratory testing, volume, performance-load testing and ALM.

Speaker and contributor for local and international conferences. Co-Founder of “Ankara Testing Days” activity that gathers software testing professionals together quarterly.

White testing magic

Many of you are doing THIS or suppose that doing. But at the testing conferences and meet-ups THIS is not acceptable. If this topic rises up, it is discussed quietly and almost in a whisper. There are people who decided to be in the opposition of THIS. But I was doing THIS openly for the last year and finally decided to share my experience.

This talk is focused on the method of White box testing. We will try to figure out what it is, how it works and why now it’s the best time to discard your prejudices and start using it.

I will talk about those parts of code where the most part of the bugs hidden, and why this method is one of the best ways of microservice testing.

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 Docker in test automation

Docker is a new and exciting virtualization technology, that allows individuals to get some great, easily scriptable and repeatable results. It’s especially exciting for development work flow, since it allows the developers and testers to have a lot of control over their environment without a hassle. However, since it is a new technology, this talk will talk about positive and negative sections of the new technology when applied to software development workflow.

Dima Kovalenko

Dmitriy Kovalenko worked in quality assurance for eight years (Rosetta Stone Inc., ThoughtWorks, Centro, Groupon), seven of which he spent in Agile environments. Dmitriy has worked with Selenium professionally for four years, during which time he has carried out a test suites for small and large enterprises. Last two years he spent working in the field of DevOps. Author of agilesoftwaretesting.com blog.