30min: Automated Testing of Hybrid Applications
Or: Presenting a hybrid test framework for hybrid applications
Hybrid applications are an accepted way of reusing web-components in your native applications and Qt provides excellent support for just that. Unfortunately the testing frameworks available does not deliver the same high level of integration leaving automated testing hard to do for hybrid applications.
This tales-from-the-trenches talk addresses how we solved that.
When the talking automated testing, there are different schools for web applications and for native applications:
For web applications it is convenient and well established to use tools like the Selenium suite that allows a script to introspect and manipulate the DOM of a web application directly in a web browser. The test script can “click” buttons, “enter” text and verify the existence and traits of DOM elements. Combined with a back-end introspection, this allows end-to-end testing of a web application.
For native Qt applications the established methodology is to build an executable that is linked against the QtTest framework together with a test class that can introspect and manipulate widgets.
But! When developing hybrid applications, there are no framework that can take you all the way from an executable using the QtTest and a test class to the DOM in the embedded web part and back to verification in the test class again. That is why we, at Atlassian, made a hybrid framework for testing hybrid applications.
Our framework allow a programmer to implement classic QtTest tests using a Selenium like API to test the hybrid part of any application (that implements the accessibility interface)
1: This talk will give the audience a complete walk through of the code used to test the web part of your application from your C++ code using methodologies familiar from the web world.
2: The audience will get a full demonstration of an implementation of a wire protocol server.
Start time: 12:00
Track: Testing and Continuous Integration
Click here to let us know how you liked this event.