RoboTouch is a computer-driven device that can operate smartphones, tablets and other touchscreen devices. RoboTouch can be manually operated by a user or act according to a script. Just-in-time human monitoring or autonomous operation mode is possible through a build in camera. In the autonomous operation mode RoboTouch acts according to a plan (test scenario) and reacts to the current image.
RoboTouch was built for software development companies like CODEFUSION, RoboTouch’s creator. CODEFUSION uses RoboTouch to automatically test mobile applications created in the company.
The existing RoboTouch prototype acts in 3 axes: X, Y and Z. Two axes, X and Y, operate in one plane to move the perpendicular Z axis around. X and Y are operated by precise step motors. The Z is operated through a specially designed artificial finger driven by a servo motor. The artificial finger supports the capacitive touchscreens. RoboTouch is controlled from a computer using open hardware electronics and software developed by CODEFUSION. Using this software, the operator can move the artificial finger and record the test scenario. The operator sees the finger and the software on the device being tested through the camera and can drive the machine on all axes using onscreen buttons. Robo Touch’s moves can be recorded using a test scenario. The recorded moves can then be used as the basis for future test scenarios.
Recorded scenarios can be supplemented with assertions. The assertions compare the image currently seen by the camera with previously saved “expected” images. Adding these assertions changes a simple recorded plan into a test scenario. Such tests deliver instant feedback about the software quality. Such tests are essential in software development companies that emphasize quality.
Currently, RoboTouch has one manipulator that acts in the Z axis, but a multi-touch manipulator is planned.
CODEFUSION wants to build a farm of RoboTouch devices. It will be possible to operate RoboTouch over internet. A software developer will be able to use RoboTouch remotely to test software on a device that he does not own. It will be possible for other software development companies to install their software remotely and test it over the internet!