News from December, 2008

  2008/12/01
GroovyMag December 2008 available
Last changed: Dec 01, 2008 10:50 by Michael Kimsal
The December issue of GroovyMag is now available!
Topics include:
  • Building Rich Swing Apps with Groovy
  • iUI Web Development with Grails
  • A look at GORM's strategic advantage
  • "In the Wild" column - interview with MetaSieve.com
  • Plugin Corner - overview of Testing plugin
  • Community News

    More information at GroovyMag.
Posted at 01 Dec @ 10:50 AM by Michael Kimsal | 0 Comments
  2008/12/03
Tellurium Core 0.5.0 and Tellurium reference projects are available now
Last changed: Dec 03, 2008 17:57 by Jian Fang
Labels: groovy, selenium, web, automated, testing

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

Posted at 03 Dec @ 5:04 PM by Jian Fang | 0 Comments
  2008/12/22
Release Candidate for Groovy 1.6 available
Last changed: Dec 22, 2008 09:27 by glaforge

The Groovy development team and SpringSource are happy to announce the release of the first release candidate of Groovy 1.6.

The JIRA report for this new version lists 74 bug tickets, 26 improvements and 8 new features:
http://jira.codehaus.org/secure/ReleaseNote.jspa?projectId=10242

Among the bugs being fixed, we tackled issues about:

  • the compiler
  • bytecode errors
  • varargs handling
  • covariant returns
  • Windows startup scripts

As well as a few regressions:

  • the args variable not bound in Groovy scripts
  • a performance regression in MarkupBuilder
  • a problem with DOMCategory which was particularly problematic for Grails

Fixes in line error reporting should be handy for IDE vendors, as well as for Cobertura code coverage.
Compatibility with Java has also been improved slightly, for instance the empty for( ; ; ) {} loop wasn't behaving the same as in Java (no loop, instead of an infinite loop).

The XML support continues to be enhanced, for instance with:

  • better handling of namespaces with XmlNodePrinter and NamespaceBuilderSupport
  • new GDK methods in DOMCategory
  • you can customize the nodes in XmlParser
  • a new builder for StAX, thanks to an external contribution

In other improvements:

  • Groovysh can be extended, giving you access to certain key internal structures
  • the stacktrace sanitization can be customized should you want to print out nicer stacktraces.
  • new GDK methods have been added for File handling and Date formatting
  • a new @PackageScope AST transformation was added to support the package-scope visibility Groovy didn't support
  • improvements to our OSGi manifest for better OSGi support
  • the default resolve strategy used for .with{} method has been changed to DELEGATE_FIRST
  • GroovyDoc now supports multiple locations in sourcepath
  • an @since tag should be used in documenting the GDK methods so users know when a given GDK method has been added to Groovy

Beyond continuous improvements in Groovy's Swing support thanks to our Griffon Swing team, the Swing console has seen some interesting improvements as well:

  • when you have a stacktrace showing up because of an exception being thrown in your scripts, or when you have a compiler error, you'll get clickable messages in the output window, making it easier to navigate to the offending line of code causing the problem
  • you can also now opt to hide the script recopy in the output window
  • and you can also have a visual representation of output results, for instance with Swing components not attached to any parent being displayed on the output, and the nice thing to consider is also the fact anybody is able to customize the output visualizations.

Last but not least, Vladimir Vivien's JmxBuilder originally hosted at Google Code was contributed back to Groovy, further improving our existing support of JMX.

Beyond all these bug fixes and other improvements, you still have all the novelties and improvements listed in the betas:

Please make sure you try this release candidate within your projects without waiting for the final release, so that we can ensure the final version works well for you.

As usual, you can download Groovy here: http://groovy.codehaus.org/Download

Noteworthy as well is that we have "retrotranslated" Groovy 1.6-RC-1 to JDK 1.4, should you have to stay with a JDK 1.4 for running Groovy: http://repository.codehaus.org/org/codehaus/groovy/

Thanks a lot to all the contributors and committers who made this release possible!

Posted at 22 Dec @ 9:21 AM by glaforge | 0 Comments