12.4. Further Reading

In this tutorial we just saw the basic usage of Squish. There is much more to discover for efficient usage of Squish.

In order to keep tests maintainable, it might be useful in to edit a test script after you recorded it and factor out certain parts to functions. More complex tasks (like iterating over the properties of an object or use branching depending on certain conditions) can only be done by editing the script. See How to Create and Use Verification Points in Test Scripts (Section 15.3.3) for more details on scripting and see API Reference for Test Scripts (Section 16.1) for a complete reference of the Squish specific scripting API. If you want to share certain script functions between different test cases or test suites, you can used shared scripts - see How to Store and Locate Shared Scripts and Shared Data Files (Section 15.4.1).

Apart from the Squish specific functions, you can also use the features that come with the scripting language of your choice - for example you can use all Python modules to achieve your goal, like the modules for accessing a SQL database. For more details on this, please refer to the documentation of the scripting language you use.

One exception from this is JavaScript: since Squish uses its own JavaScript interpreter, only the extensions Squish offers are available.

Data-driven testing is a way to separate the test data from the test script code. By doing so you can run the same test script with different input and test it against different expected results. See How to Do Data-Driven Testing (Section 15.4.2) for details.

Squish is actually a collection of commandline tools tied together by the Squish IDE with an easy to use interface. But you can use the commandline tools without the Squish IDE to achieve the tasks as well. This is especially useful for automating the test execution. See How to Do Automated Batch Testing (Section 15.5) for some example Python scripts to execute your tests and to post-process the test results. Automated Batch Testing (Section 16.2) has a more detailed description on this topic. You can find a complete reference on the commandline tools in Command Line Reference (Section 16.5)