GUI testing in Eclipse

While helping out a colleague with a research effort to help find the right GUI testing tool I came across this article. I think it does a pretty good job laying out the different kinds of testing and references some good open source tools that you could use. It of course mentions the big players, Rational Functional Tester and Eclipse Test and Performance Tools Platform (TPTP).

If you are still doing manual UI testing then you really need to evaluate your resources and the cost to your software company when bugs are found on the shipping product.

You simply can not afford to not use automation.

Very interesting technique of using scripting for a more dynamic platform

I just read Wayne's blog entry where he talks about this concept and at first I did not understand it. I then looked at the referenced project and cracked open the yummy.groovy file and I finally understood the concept(I am one of those tangible learners).

Since the yummy.groovy file is a script, the contents for that view can be dynamically changed at runtime! You could theoretically write an entire UI with many “screens” in a single Eclipse view using this technique. By having the contents of your view be in a Groovy script you can “swap” out the contents at runtime with a new script.

Tags: : : :

Call for Composite Application content for Lotusphere 2008!

I posted a blog entry on the CA blog yesterday asking for feedback on what content you would like to see in this space. Joe responded with some great suggestions, feel free to add your own as a response.

Some areas I know people ask a lot about are:

  • Property Broker concepts and use cases
  • Debugging
  • WSDL explanations and samples
  • Integration with existing Notes applications
  • Integration with Visual Basic Applications
  • Off line portlets

Let us know and we can get the right content to the conference.

Tags: : : : :

Portal Technical Conference in Munich Germany registration is now open!

Registration is open for the upcoming WebSphere Portal Technical Conference Europe September 10 – 12, 2007 at the Hilton Munich Park Hotel.

I will be presenting Building Rich Client support for WebSphere Portal with Lotus Expeditor in the What's New in WebSphere Portal.

I will also be attending the Birds of a Feather (BOF) with Amit on Lotus Expeditor.

See you there!

What accent do you have?

Very cool, from Rocky. No surprise here, I am from the North! You can get your accent evaluated here.

What American accent do you have?

Northern

You have a Northern accent. That could either be the Chicago/Detroit/Cleveland/Buffalo accent (easily recognizable) or the Western New England accent that news networks go for.

Personality Test Results

Click Here to Take This Quiz
Brought to you by YouThink.com quizzes and personality tests.

Project Zero server running in Expeditor

For this think Friday I attempted to get a Project Zero application running inside of the Expeditor runtime. Because the XPD toolkit does not really support Eclipse 3.3 and our launch does not work well with that and Java 5 I took a quick shortcut and just launched the Eclipse workbench with Expeditor runtime as the project space runtime.

What I really just wanted to get going was the Project Zero server loaded into the OSGI runtime of Eclipse and have its applications be able to seamlessly access classes and services from other OSGI bundles.

Here is what I did:

  • Created a plugin called (org.zero.core) which contains all of the Project Zero runtime jars. They are all exported and I also had the plugin use a Dynamic-Import statement so it could dynamically access other plugins classes and service. ie. (DynamicImport-Package: *)
  • I then created another plugin called “com.ibm.rcp.zero.app.runner”. This plugin houses an extension point called ZeroApp. The extension will basically “learn” what ZeroApp bundles are installed on the system and run them on some command. For this purpose, I added an auto-start boolean on the extension and if it was true the ZeroApp started when the platform launches. I started the Zero App by calling zero.core.Main.main() with the information I got from the hosting Bundle for the Zero App extension (ie. the root directory).
  • Lastly I took the sample application from Zero (simpleTodo), used the PDE tools to convert it to a bundle and modified it to access the Property Broker service from Expeditor. It was nothing huge, just to print out the names for all of the active actions in the broker.

So what happened?

Well, for the most part it worked. I have some logger dependency problems that can easily be fixed. Otherwise it worked quite well.

Here is the code I added to the sample:

At the top of todo.groovy:

import com.ibm.rcp.propertybroker.service.*;
import com.ibm.rcp.propertybroker.property.Action;

PropertyBroker broker = PropertyBrokerFactory.getBroker();
Action[] actions = broker.getActions();

In the output:

writer.write "PB Actions defined:
    "

    actions.each { writer.write "
  • Action: "+it.getName() + "
  • " }

    writer.write "
"

And here is a screen shot of the sample running in an Eclipse browser:

Tags: : : :

Eureka on Europa

After reading this article in my Dr Dobb's I went ahead and took the plunge to install Eclipse 3.3 and all of the Europa projects. I did this when I was looking to play with Project Zero.

Bottom line, this is the most useful packaging I have seen. I simply clicked the application management and installed ALL of the Europa projects. I now have an Eclipse that is almost as powerful as RSA (Rational Software Architect).

What is most impressive is, it all worked!

Tags: : :

Project Zero is Groovy

Although Project Zero has been out for a couple of weeks, I just started getting into it pretty heavily in the last week or so. So far, this seems like as great technology. It takes some of the best programming models and puts them into a server and API. The best part, I think, is the adoption of Java and PHP as the syntax for the server side. The integration with Eclipse is also very nice (although I am waiting for type-ahead for Groovy files). By installing the ProjectZero runtime you can get some very good samples and get up and running very quickly.

When you look at the demos, the code is pretty straight forward. The syntax is Java and HTML while the output is basic HTML. The really cool thing is the entire basis for ProjectZero is to promote a REST based architecture. So some of the more advanced samples can show that off.

Groovy file:

/*
* ============================================================================
* Licensed Materials - Property of IBM
* Project Zero
*
* (C) Copyright IBM Corp. 2007 All Rights Reserved.
*
* US Government Users Restricted Rights - Use, duplication or disclosure
* restricted by GSA ADP Schedule Contract with IBM Corp.
* ============================================================================
*/

todos = app.todos.get();
if (todos == null) {
todos = [];
}

if (request.method.get().equals('POST')) {
action = request.params.action[0].get();
if (action.equals("Add")) {
items = request.params.item.get();
if (null != items){
item = items[0];
if (null != item && item.size() > 0)
todos.add(item);
}
} else {
selected = request.params.todos.get();
for (i in selected)
todos.remove(i);
}
app.todos = todos;
}

writer = request.writer.get()

writer.write '''





Your todo items:



'''

todos.each { writer.write " "+it+"
" }
writer.write '''








'''

Output HTML:






Your todo items:











Tags: : : : :