HomeHome
MarathonMarathon
MarathoniteMarathonite
CompanyCompany
ContactContact
WeblogWeblog
 

You are currently browsing the archives for the JRuby category.

CATEGORIES

BOOKMARKS

Marathon 2.0b4 Release

January 7th, 2009

At last, Marathon 2.0b4 is released today. There are extensive changes in this release. The ChangeLog is quite long - you can find it at sourceforge.

Now Marathon supports some additional features:

  1. You can create semi automatic test cases, by inserting checklists into the test scripts.
  2. There is an exploratory test mode. This mode is similar to recording, except that you can insert and fill the checklists at the same time.
  3. New assertion window. When the mouse/key trigger is pressed, the component is highlighted. While the window is open, you can click on different components and insert assertions.
  4. While we are at the assertion window, you can also insert a wait. The wait_p works just like assert_p, but waits for the value of the property to change to the expected value. This should make usage of sleep pretty rare indeed.

But the major changes are actually internal.

  1. Using dispatch thread to invoke the operations on components.
  2. Dependence on jaccess has been reduced. In a later version, I hope to remove the total dependency.
  3. Marathon doesn’t override the EventQueue any more. We use AWTEventListener to listen to mouse/keyboard triggers.

The bundled versions of JRuby and Jython are 1.5 and 2.2.1 respectively. If you want to use a different version, you can set the home directory in the project settings.

The command line invocation format changed. I hope the new one is simpler and straight forward. Use marathon -help to look at the options.

Thanks Santhosh for patiently testing this version over the last two weeks. He has been using jgnash as the test application.

Lastly, the users guide has been updated, though not as extensively as I hoped. Still, tomorrow is always there for the updates.

Post your feedback to marathontesting google group.

Posted by KD Posted in JRuby, Jython, Marathon | 6 Comments »

Working on assert_content implementation for JRuby. And straight-away headed into a road block. The call to assert_content looks like this:

assert_content('component', [['R1C1', 'R1C2', 'R1C3'], ['R2C1', 'R2C2', 'R2C3']])

This function from ruby should call a java function:

assertContent(String componentName, String[][] content);

Now it is easy enough in JRuby to convert an array of strings to java array of strings:

['hello'].to_java :String #=> String[]

But converting a array of array of strings is not that straight forward. After a bit of hacking, I found this way.

[['r1c1', 'r1c2'], ['r2c1', 'r2c2']].to_java([].to_java(:String).class) #=> String[][]

Is there any better way of doing this?

Posted by KD Posted in JRuby, Marathon | 4 Comments »