Tellurium is a UI module based web automated testing framework. The UI module is a collection of UI elements you group together. Usually, the UI module represents a composite UI object in the format of nested basic UI elements. For example, the download search module in Tellurium project site is defined as follows,
ui.Form(uid: "downloadSearch", clocator: [action: "list", method: "get"], group: "true") {
Selector(uid: "downloadType", clocator: [name: "can", id: "can"])
TextBox(uid: "searchLabel", clocator: [tag: "span"])
InputBox(uid: "searchBox", clocator: [name: "q"])
SubmitButton(uid: "searchButton", clocator: [value: "Search"])
}
The UI module makes it possible to build UI elements' locators at runtime. Thus, Tellurium does object to locator mapping (OLM) automatically at run time so that you can define UI objects simply by their attributes and write your selenium tests just like writing JUnit tests. The framework also uses the Group Locating Concept (GLC) to exploit information inside a collection of UI components to help finding their locators, Tellurium is more robust, flexible, modularized, easier to maintain and refactor compared with the locator-based Selenium testing framework.
Data Driven Testing is another feature of Tellurium. You can define data format in an expressive way. In you data file, you can specify which test you want to run, the input parameters, and expected results. Tellurium automatically binds the input data to variables defined in your test script and run the tests you specified in the input file. The test results will be recorded by a test listener and output in different formats, for example, an XML file.
The Tellurium framework is written in Groovy and Java and the framework is built on top of Selenium at the current stage. The test cases can be written in Java, Groovy, or pure DSL.
From version 0.5.0, Tellurium is split into multiple subprojects including Core, JUnit reference project, TestNG reference project, Dojo Widget project, and the TrUMP project (a firefox plugin to automatically generate UI modules). Tellurium Core 0.5.0 and the two reference projects are released on Dec 3 and are available now. The main new features in Tellurium Core 0.5.0 include
1) Add CSV format for Data Driven Testing
2) Add Support for Window and Frame
3) Add UI Object attribute "respond" for Javascript events
4) Add capturing screen option when error happens
5) Bug fixes and enhancements
6) Add Maven support
In the reference projects, we use Tellurium project web site as an example to illustrate how to write real-world Tellurium tests. The two sub-projects are tellurium-junit-java and tellurium-testng-java and they are almost the same. The only difference is that tellurium-junit-java uses JUnit 4 and tellurium-testng-java uses TestNG. The reference projects illustrate the following usages of Tellurium:
1) How to create your own Tellurium testing project using tellurium jar files.
2) How to create your own UI Objects and wire them into Tellurium core
3) How to create UI module files in Groovy
4) How to create JUnit/TestNG tellurium testing files in Java
5) How to create and run DSL scripts
6) How to create Tellurium Data Driven tests
7) How to configure Tellurium with the configuration file TelluriumConfig.groovy
Please go to Tellurium project site to download the latest artifacts
http://code.google.com/p/aost/downloads/list\\
If you have any problems, questions or comments, please post them on Tellurium user group at
http://groups.google.com/group/tellurium-users\\
Thanks,
Tellurium Team