Speaker
Mr
Guido Wesdorp
(Merlinux)
Description
As web applications grow increasingly complex, and the logic of those
applications is located on the client more often, the need for good
JavaScript testing tools is growing. There are some products available, but
the quality is usually not satisfactory: most tools are inflexible, messy,
hard to integrate, badly written or incomplete. HyperTest tries to solve
those issues.
HyperTest is a set of JavaScript libraries that allows testing all aspects of
a web application: there's a unit test library to test JavaScript APIs, a
functional testing library for user interfaces and a library for testing REST
APIs by sending HTTP requests and examining the response. All the tests are
written in plain JavaScript and run inside browsers, allowing testers to
use the full power of JavaScript and test the problem areas, like browser
differences and JS implementation quirks.
In addition to the JS libraries there is Python code available that allows
automating browser control and makes the results from browsers available to
the outside. This makes that HyperTest can easily be integrated into Python
test suites; full py.test integration should be available in the near future.
Using HyperTest one doesn't need to visit web pages as part of the test cycle
anymore: results appear together with 'normal' Python test results.
I will be discussing common web application testing problems and provide
examples of how to deal with them using HyperTest.
Summary
This talk discusses HyperTest, a complete JavaScript web application testing
suite with Python integration code. It provides unit testing and functional
testing facilities and also allows examining raw HTTP requests for testing REST
APIs, all integrated into Python 'server-side' tests. HyperTest provides a
clean and simple framework to write tests in plain JavaScript, allowing testers
to fully test every aspect of the application in real browsers.
Author
Mr
Guido Wesdorp
(Merlinux)