19. novembre 2020 - 9:00
Partager sur:

Test Automation using Selenium and Java | Tesena s.r.o. | jeudi, 19. novembre 2020

Course goals
This trianing is held in Czech. Does the front-end based test automation work? Definitely it does, and it works well, when designed and implemented properly. In this course, we will learn how to do it.
When you ask the people involved in the test automation „what is the main problem of this technology“, the answer would be very likely „the maintenance“. Yes, it‘s right. We struggle with the changes of the tested system, which makes our tests obsolete.  These changes are natural during the project, but for test automation engineer, they are a kind of nightmare: they causes maintenance overhead, which can sometimes even lead to failure of the test automation project.
Using a naive approach to test automation, this overhead is simply too high. So, after learning the basics in this course, we will soon move from these naive approaches to more advanced structuring of the tests. And together with that, we will learn a number of various methods, which are in place to minimize this overhead. Using all of them together, we would be able to write well-structured and economic code, key factor for success of our test automation activity.
In the course, we will use the Selenium WebDriver framework, known and reliable open-source solution for automated tests. Besides the structuring concepts, we will also learn WebDriver API and good patterns, how to combine WebDriver with JUnit framework to run our tests.
All this will be done via interactive practical examples: course participants will be developing their own test code, using prepared examples, with support of two experienced test automation specialists, having the rich background in many test automation projects, development of extensions to Selenium WebDriver framework and technological research in test automation.
The course covers the following subject areas

What are the specifics, strengths and possible pitfalls of automated tests?

Economics of test automation

Which scope is good one? Shall we automate manual test 1:1?

The first test: arrange-act-assert structure

Reusable objects: let use them from the beginning

WebDriver object, Selenium capabilities, the most frequently used APIs

Handling the different browsers and versions, introduction to automated mobile testing

Element localization strategies: what is suitable and what is not, how to write good XPaths

Synchronization of tests with the tested application (incl. AJAXes and other tricky elements)

Connecting the WebDriver with JUnit / TestNG

Handling the test fails, collecting the defect report, screenshots

Structuring the larger test sets: layered architecture

PageObject and PageFactory design patterns

More business logic and more element initialization flexibility in PageObject

Test data parametrization, using data grids

Larger test set: create a central test data repository?

Organizing the larger test set: Test suites, subsets by test types, reusable tests

How to implement longer (E2E) tests: Connection points, handling the test data

More advanced concepts: Using Java generics to speed-up the development, SmartDriver approach

Test execution plan, technical ways to schedule and run the tests

Summary of quick-wins, good and wrong practices

Get you leaflet: Effective Automated Testing with Selenium
Required equipment: own notebook with an up-to date Java development IDE supporting Maven and JUnit (IntelliJ IDEA is preferred, but other IDEs can be used as well). The rest will be installed at the beginning of the training via the Maven. Prepared automated test scripts to customize and develop during the course will be given to participants via shared web folder.
Trainer: Jan Hornych (CZ)