expect-lite is an quick and easy command line automation tool. Written in expect, it is designed to directly map an interactive terminal session into an automation script. expect-lite scripts use special character(s) at the beginning of each line to indicate the action. Basic expect-lite scripts can be created by simply cutting and pasting text from a terminal window into a script, and adding '>' '<' characters. No knowledge of expect is required. Expect-lite is targeted at the verification testing environment, and will produce a Pass/Fail result at the end of the script. However, its use is not limited to this environment. It includes a powerful debugger with breakpoints, step/skip, and the ability to copy/paste expect-lite lines right into a running script.
The Fressia Project is an effort to develop a framework for testing automation. It's intended for users (testers) who want a simple tool that can be used just out of the box. It was originally conceived as part of the QA efforts at the US National Optical Astronomy Observatory. It has been delivered to the community because, despite it still being at early stages, it has proven to be a useful general purpose testing tool. It is designed to provide functional testing, system testing, system integration testing, white (black) box testing, automated regression testing, acceptance testing, etc.
The pylib library features the popular py.test command line tool for rapidly writing and running tests in Python and py.execnet, a new way to do ad-hoc distribution of Python code to remote processes. py.test runs well on Linux, Windows, and OSX using Python 2.4 through to 2.6. It can distribute a single test run to multiple machines. It is used in many projects, ranging from running tens of thousands of tests integrated with buildbot to a few inlined tests on a command line script.
MASH is a modular, automated script harness. It allows users to implement simple harnesses that perform work external to a system. The framework will invoke that harness as outlined by an XML script. For example, when using the framework to test a system you could create a script that cleans and loads a database, FTPs some data, submits a login form, and verifies HTTP information. Harnesses can easily be built to do almost anything (many harnesses are provided), not just Web page verification. While harnesses are written in Java, the scripts may be run against any type of system as harnesses are intended to act as clients.
Feed4TestNG makes it easy to write parameterized tests for the TestNG framework and feed them with predefined or randomly generated test data: test case data can be read from Excel or CSV files and equivalence class tests can be defined easily. Setup is based on Java annotations and easy to learn, apply, and maintain. Annotations defined in the "Bean Validation" JSR 303, Java 7 and Benerator are automatically recognized and generated smoke test data will match the constraints. By connecting to Benerator, you can configure generation of complex valid and invalid data sets.
Coronis Test is an HTML test framework based on jQuery. It is specially prepared for AJAX environments. For example, when it checks whether a given text is present, it waits some time, in case it's still processing and has not yet arrived. This way it's very easy to concentrate on actions, without waiting until something happens. It has a built-in mechanism for using action based functions, which helps when debugging something that requires repetitive tasks, like logging in or going to some specific part of the Web application as a specific user. It's a generic framework that is easy to adapt to specific needs. It also has variables that can be easily used from any part of the program.
The Java Engine for Testing (JET) is a system for running distributed automated tests. It has been used by Sun for testing the High Availability DataBase (HADB), JavaDB, PostgreSQL, Memcached, and the MySQL Cluster Manager. JET should be a good way to write your tests if the product you want to test is distributed or has a client/server architecture, if it is natural for you to write the tests in Java, and if you want to invest time in developing tests and abstractions for later reuse.