Using TestNG console output can be very inconvenient if you have lots of test cases. The better solution is to create an HTML report containing detailed information about testing progress. You can use the Maven Surefire plugin for this. Surefire report is a part of the project maven website, so at first we need to find out what is it. Continue reading “Verbose TestNG report with Maven Surefire”
Dealing with forms
As you know from this post using a separate class for each web page element is a good practice. Working with forms I recommend you to follow this practice too. Let’s take a look how can you interact with web forms with Selenium Webdriver.
In the previous post I have written about how to get started writing tests in Java with Selenium Webdriver. In this post I’ll guide you how to write a simple test using the project structure created in the previous post. As an example, I’ll use this website (fullstackvlad.com).
Step 1. Clearly define what you want to check on the webpage
A correct question is a half of the answer. To write an accurate test you should first define a criteria of correct work (it’s also a great way to know your system better!). In this example, I’m going to check if fullstackvlad.com main webpage contains the search input (marked by the red rectangle in the picture below).
Why Selenium Webdriver + Java is a great combination for web service integration testing?
Note: This note is about using Selenium Webdriver with Java. You can also read about using Selenium with Nightwatch JS in this post.
Selenium Webdriver is an amazing tool allowing you to interact with browsers installed in your system. It allows you to create test scenarios like “open this page – check element is visible – click on this button – check something happened”. This testing approach is called behavior-driven development (BDD). In other words – you make a program which will do the same work you do while performing tests during the development process.
Selenium itself is a tool to control a browser. To write testing scenarios you should use a programming language like JS or Java. Full list of supported languages can be found on this page.
Why Java? Java is a very popular programming language having a great library of modules which allow you to interact with databases, SSH servers, etc. Due to this you will create extremely powerful testing scenarios.
About front-end website testing
Website integration tests are extremely useful for front-end development. Automatic website testing makes you sure that your website works properly, that you haven’t broken something working on recent updates. I write front-end integration tests using Selenium technology and Nightwatch (written in NodeJS) or JUnit (written in Java).