3–5 Jul 2006
CERN, Geneva
Europe/Zurich timezone

Testing web applications with HyperTest

3 Jul 2006, 09:35
30m
40-SS-C01 (CERN, Geneva)

40-SS-C01

CERN, Geneva

Agile Development Agile Development

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.

Primary author

Mr Guido Wesdorp (Merlinux)

Presentation materials