Currently Browsing

Author Archive

Jenkins service VS Jenkins .war run

One of our recent project requited the setup of a new Jenkins on an AWS Workspace instance with Windows 7 OS. The task was not particularly hard, just a basic setup for fetching and compiling a repo, building and running Selenium tests.

After installing and setting up the service version of the Jenkins everything was fine: the build was successful and the logs appeared on the console as it was expected. After a while a strange thing happened: no browsers appeared although the logs confirmed that they were started, all the tests were running correctly and all of them passed at the end of the run.

Getting started with Android automation testing

As the automation testing is more and more present in the development of web and desktop applications it is also taking more place in the mobile world. There are various tools and frameworks helping the testers out the job.
First of all it is necessary to get the Android SDK and those API levels which are running on the target devices. Check this link for Android SDK: http://developer.android.com/sdk/index.html. The recommended IDE for android development is the Android Studio, however the example in this guide is written in Eclipse. To add the android plugin to Eclipse follow this guide: http://developer.android.com/sdk/installing/installing-adt.html#Download.

It is possible to run the test cases both on real and virtual devices. In the case if the target device is a virtual one there are two options. The first and more traditional way is using the android emulator which comes with the SDK or the other one is using Genymotion.

Genymotion is an emulator offers the same functionality as the traditional one and even more, beside that the boot of these devices is much faster. It can definitely improve the performance of the tests. You can download here: https://www.genymotion.com/#!/store. It is recommend to add the Genymotion plugin to Eclipse to make the job easier. Find the details on this page: https://www.genymotion.com/#!/download#genymotion-eclipse.

Java NumberFormat in action

Parsing or formatting various decimal or currency formats often make the job more difficult. If the expected number format is not the same as it is given then you as a programmer have to adapt to the situation and this is not always easy. There is an already implemented way in Java to handle this.

NumberFormat

Event logging with aspects in automated testing

One of the most important goals in automated testing is to identify when and why the errors are shown in the test cases. Logging is a useful tool to find the answers to these questions. However the implementation of a logger unit is not so easy in accordance with the object oriented principles. The aspect oriented programing can solve this problem on a way where the logger unit could be a separate module besides the tests and other parts.

There are more slightly different implementations of aspect oriented programing in Java just like JBoss, Java Aspect Components or Spring but in this example the AspectJ is used to present the basic functionalities and to help with the first steps of logging on this way. Eclipse IDE needs to contain the appropriate plugin which is available here: https://eclipse.org/aspectj/

Getting started with Webdriver python guide

If you are interested in automated testing web applications with Selenium or Webdriver but you prefer python over Java this getting started guide can help you with basic steps and setup.
The first step is to install python. You can download it from the official site (https://www.python.org/downloads/) or if you use Linux install it from the repositories.

Page Object pattern and Page Factory

As a developer of automated tests for web pages one always has to deal with often changes on a site. This also means constant changes in test cases too. The developers’ main goal is to make as high quality code as possible with the least investment. This is also true for tests changes. Both goals can be reached with using the correct tool. The Page Object pattern hand in hand with Page Factory could provide a healthy code and maintainable tests.
Page Object is one of the most popular patterns which is used for developing automated web test. It maps the pages to objects which contains all the required data and functions that help the developer to test the site. The fields contain all the information what is needed and the methods do all the job to navigate in pages, fill the inputs or click the buttons.
Web driver provides more way to grab the element from the site. All of them are based on search in DOM tree of the webpage based on locators. The locators are strings that describe the position of the required web element. It can be located based on its name, id or src attributes or any custom conditions like CSS or Xpath selector. Let’s take a look for an example. The test case is really simple. Log in to Gmail and check the title of the next site. If the page title contains word Inbox, it’s done. Otherwise something went wrong.

Graphwalker – Guards and actions

In our previous articles we have already discussed about the finite state machines and about how we can take advantage from this utility of the Graphwalker API. It is based on nodes and vertices which are connected to each other to become a graph and forming a test case to make your job easier and clear.
Moreover Graphwalker provides additional possibilities to make the job be in a batter quality. The edges could be extended by expressions and these can modify the further way of test run. Excluding the label the edge can contain two other elements. The first one called guard and another one is action. These have a unique order like this: Label [Guard] / Action1; Action2;

Graphwalker – how to start guide

Graphwalker (http://www.graphwalker.org/) is a state machine based tool, written in Java, generating sequences of tests both for online and offline testing. Diagrams are not UML models (which do not have any functionality) and as a result, much easier to get start with them.
The goal is to create long and unpredictable test sequences. The tool allows to create unique variation of paths across the edges and make these all randomly. The models do not contain any stop or exit points, however stop criteria make it possible to shut them down. In online test cases it makes possible to create the „walking path” during the actual execution. Graphwalker also supports switching between models.

Overview of automated testing

Software testing has become a more and more significant step in the process of developing. As requirements and expectations grow in IT organizations, the relevance of testing grows in the case of small and big companies as well. The process has two main parts: manual and automation testing and they have the same types, but the essential difference between them is the way of execution. Both types of testing have pros and cons, so testers have to choose the good one in the given situation. In this text the issue of automation testing will be discussed, more precisely the problem of how could a developer who has not done this kind of projects before start it and which is the best way to go.
Test automation offers a possibility to improve the efficiency of the testing. Once automated tests have been developed, they can be run quickly and repeatedly. It could be a cost-effective method for the testing of software products.