Two things are certain in this world: death and taxes. The third thing that could enter in this short list is the technology who managed to get us addicted at every step and in almost all we do. Even we use a smartphone, a TV, a car, a robot, or a laptop, we are deeply involved in the world of bits able to duplicate our existence in a digital form.
All of these devices have to be tested manually or automatically from both sides: software and hardware. The robots are smart enough to be used in the automated testing phase, and the most newest robot able to test automation mobile applications on a mobile device is called Tapster.
Tapster is quite interesting in many ways that I’ll describe in this article as well as how you can use this wonderful open-source system able to replace the human finger on a mobile display and test mobile applications on a smartphone.
Without this robot, for automated tests you need multiple tools plus a lot of different talents and a substantial cost. Automated tests for software are based on different automated programs. With Tapster what we know is changed because the robot is not a software program, it’s hardware and can replicate the movement of a human finger on a touchscreen display.
This robot is not made to replace the manual testing. It is designed to cut the costs of testing and increase the speed of testing. It is an awesome answer to software and hardware hackers with skills to find defects especially on the iPhone and other touchscreen devices.
The Tapster robot is based on a previous version called BitBeamBot and engineered to play video games like Angry Birds. After a lot of requirements to buy the robot, the team behind the Tapster realize that smartphone manufacturers and carriers can test their products using a custom version of the BitBeamBot. This custom version is the Tapster, a really smart robot that can handle smartphones and with small changes with tablets.
Why to use Tapster?
- Because it has an open-source hardware that can be updated with abilities;
- Because it is engineered to replace the human finger on a capacitive touchscreen;
- Using a simple 3D printer you can print new and custom components;
- It is a robot based on the open-source 3D printable LEGO-Technic compatible building system;
- You can power the robot via USB since it requires a 5V power;
- With default hardware you can test any smart devices ranging in the 140mm x 80mm (devices such as the iPhone or Nexus);
- The Tapster can be programmed with Node.js, Johnny-Five, and Arduino;
- For automated test it runs the Selenium WebDriver and the Appium open source test automation framework;
Selenium and Appium are the base software and framework for testing, and for more flexibility and as an alternative can be mounted a camera and installed the OpenCV framework to compare the screenshot and determine if the test is passed or failed.
Back in time, Selenium was created to test browser applications in IE, Firefox or Google Chrome. To keep pace with technology and its complexity, the Selenium was improved with new features including the simulation of mouse clicks and key presses.
The Selenium features are not enough to have a completed system. The interaction with smartphones includes methods such as pinching or swiping the screen or shaking the whole phone. The robot Tapster can perform swipes, can zooming by tapping on the screen, can activate the ‘Home’ button, but it cannot rotate the phone, at least at this version.
Some things can be easily tested automate, while others will stay for a long time with real people with testing skills. Manual work is not an easy task even in the case of a tester. Using the Tapster to automate applications on mobile devices such as an iPhone or any Android device, it could cut the cost and the time to release products on the market.
Documentation and source code can be found here.