Archive for the ‘Squish’ Category

Hidden Squish 4.0 Features: Squish/Mac’s Attach To Application

Sunday, February 28th, 2010

After finally releasing the beta of our upcoming Squish 4.0 release, I decided to highlight some of the less visible, but very cool, Squish 4.0 features. In this post I’d like to talk about the “injectMacWrapper” feature. Until recently it was even unknown to me :-)

The other day a prospect asked me to present a demo of Squish for Mac to test a well known online meeting software (Cocoa) running on Mac OS X. The challenge here is that the application can’t be started stand-alone, which is usually required so Squish can start it to load the hook into it allowing Squish to connect to the application for testing (listen to events, access objects and properties).

In this case the application can only be started via a web browser when starting a meeting.

So I walked over to Rainer, our Mac expert, if he had an idea how we could support that. And to my surprise, he just pointed me to the example “injection” which can be found in “examples/mac” in Squish 4.0 Squish/Mac packages.

This example basically contains one script which injects the mac wrapper (the Squish hook for Squish/Mac) into a running process and makes the application attachable for Squish that way. Be aware that you have to first open the script and adopt the SQUISH_BASEDIR variable to point to your Squish installation directly. Also you may change the ATTACHABLE_PORTNUMBER if necessary which is the port to which Squish can then connect to attach to the application.

In addition, before starting the application you want to attach to (or the parent process which may invoke it), make sure to set the environment variable DYLD_LIBRARY_PATH to point to the “lib” directory of your Squish package so the Squish libraries will be found.

Now start (or get started) the process you want Squish to attach to later.

Finally run the injectMacWrapper.sh script and just pass the name of the process, as you can find it in the Activity Monitor, as an argument to the script. You will see some output and once it is done, Squish can attach to it at the given port.

Now open the Squish IDE (the new, Eclipse based of course :-)) and go to Squish->Manage AUTs. There add an attachable AUT, choose an arbitrary name and specify the port which you have chosen (or left untouched) in the injectMacWrapper script (specified via ATTACHABLE_PORTNUMBER).

Now you can go ahead and create a new test script and create a skeleton script function such as (assuming JavaScript)


function main()
{
attachToApplication("AttachApp")
snooze(1);
}

where AttachApp is the name you specified as name for the attachable AUT in the Manage AUTs dialog.

Now set a breakpoint on the snooze line and execute the script. When you hit the breakpoint, choose recording, record interactions on the running process and choose end recording.

Using the same method you can insert verifications, use the Spy, insert more recording snippets, etc.

Really a cool feature since it allows to attach to processes which have not been started by Squish or been modified for testing (which is many cases just isn’t possible).

A similar functionality is available in our new “Squish for Windows” edition also combine with other Squish editions so one can e.g. automate a Windows GUI started via Click Once from a web site. Of course also Squish for Qt and Java allow attaching to running applications.

I will talk about these features and cross GUI technology testing more in the next postings.

The Quarter of Tradeshows

Monday, November 2nd, 2009

The fourth quarter of 2009 is a busy month in terms of tradeshows for us. The most busiest so far.

I started out with Qt Developers Days in Munich on October 14th and 15th. The event had a record-breaking number of attendees I believe and we had many interested potential and also existing users visiting our little Silver sponsor booth. It also proved to be a good opportunity to get to know all the new members of the so called “Qt Development Framework” Nokia unit.

Last week froglogic was present at two tradeshows in parallel: Andreas and Roberto exhibited at Eclipse Summit Europe while Jan and I manned a booth at the Annual Meeting of the Society of Exploration Geophysicists (SEG). Jan had a safe and rather short trip there from his home in Austin. I, on the other hand, got stuck in Frankfurt because of heavy fog. Got rebooked onto a flight via London Heathrow on the next day. Of course, my luggage did not make it on the plane so I got to complete my emergency set of toiletries.

My wife and me spent the weekend in San Francisco before the US part of Qt Developer Days takes place. Enjoyed the city which was full of people dressed up for Halloween. Sometimes it was hard to tell whether someone really wore a costume or his normal clothes. Went to a show of the musical Wicked - the “untold” part of the 1900 children’s novel The Wonderful Wizard of Oz.

We now moved down south to the conference hotel. It’s located close to San Francisco International Airport. I am convinced that until Wednesday I’ll be experienced enough to tell one type of airplane from the other. But as a beginner I’ll first concentrate on differ landing from starting planes.

Tomorrow Jan and I will use the opportunity to visit some clients in this area. And right after the conference our partner company ICS will provide an open-enrollment Squish training. So lots of activities before I go home.

Automated GUI Testing Success: ETM Professional Control, a Siemens Company - Squish for Qt users since early 2007

Tuesday, May 26th, 2009

We spoke to Wolfram Klebel, one of ETM’s development and testing engineers, and asked him what products ETM tests with froglogic’s automated GUI testing tool Squish.

ETM use Squish to test their SCADA (Supervisory Control and Data Acquisition) software - PVSS. This software is used for controlling complex industrial and infrastructure systems including traffic tunnels, water treatment plants, subway systems, and the new particle accellerator at CERN.

Read the full story at our website.

Automated Qt GUI testing on Maemo

Tuesday, March 3rd, 2009

Hi!

Since acquiring Trolltech, Nokia is really pushing Qt to all kinds of platforms and devices. This perfectly makes sense considering the gains of having to create the GUIs only once for all different platforms and devices (desktop and embedded) by using the Qt framework.

Historically, and also when looking at our revenue statistics, the Qt market is very important for us. Our automated GUI test tool Squish, which supports testing several GUI technologies such as Qt, Java GUIs, Web, etc. is the leading tool when it comes to automated Qt GUI testing.

We have several customers in the embedded Qt space already. Due to the recent push from Nokia’s side, we decided to offer more dedicated support and resources in this area.

So today we announced that we officially support testing Qt GUIs on the Maemo platform using Squish

In the near future we will add Symbian S60 and Windows Mobile to the list of supported platforms as well.

Squish 4.0 Interview: Talking with froglogic’s founders

Friday, October 24th, 2008

While the development of Squish 4.0, the upcoming version of the leading cross-platform GUI testing tool, is on-going, Qtrac Ltd.’s Mark Summerfield talked with some of the people behind the product.

Mark Summerfield of Qtrac Ltd.Harri Porten of froglogicReginald Stadlbauer of froglogic

In this first interview, Mark asked froglogic’s founders, Harri Porten and Reginald Stadlbauer, to give an overview of Squish 4.0’s features. In the following interviews Mark will have deeper technical discussions with the responsible developers working on specific features.

(more…)

Maemo summit 2008

Saturday, September 27th, 2008

So I went to the Berlin summit this year. I might not have come if it wasn’t for for bunanson bringing my little project at a more popular level.

It was really nice to meet him in person (left on the picture, as a big thanks I bought him a german weizen beer). He also did a presentation, presenting his worldtv99 playlist.

Anyhow, the visit was really great and interesting. Mobile computing is an exciting area and, thanks to the Nokia internet tables, Moblin, Android and what not, opening up for open source.
Nokia employees presented the roadmap of their internettablet. Some insight talks about UI design. With years of experience with small form factor devices and their Symbian OS, definitely a good learning experience.
So the next device will include OpenGL-ES and on top Clutter for eye appealing applications. From what I recall, the destop will be Clutter based. Applications remain Gtk based. They’re pushing Gtk offscreen rendering for use with Clutter and there seem to be an effort for a Symbian port. So I don’t suspect this is likely to change anytime soon.
Qt is coming though, Ari Jaaksi talked about this toolkit for enabling multi-platform support for their applications. Also a Howto was presented by Nokia as one of the parallel sessions. As a froglogic Squish developer, I’m of course quite happy about this.
Exciting times for both toolkit, now competing on the same GUI. Obviously, the linux desktop as a whole will benefit from this downscaling and speedups.
Nokia UI designers seem to be quite modest about using animations though, avoid wow first, annoyance later experiences. I do suspect things like roll-down menus and such will be there. I think that animations may help hiding latencies for e.g. application loading and such.

One addition to my last blog, I already talked about the ‘handhelds GUI != desktop GUI’ thing. An UI design talk presented the minimal space for finger friendly clicking is nine millimeter, with a screen of 225dpy gives (9 mm * 225 px/inch) / (25.4 mm/inch) = 79.7 px. Now that is almost an inch on for destop screen.

Squish’s Extensibility and Integratability

Tuesday, September 23rd, 2008

Today I’d like to write about some of Squish’s features which are not so well known but which makes Squish a really powerful GUI testing solution.

Extensibility: When we started to create Squish, our main focus was to support all standard components of the supported GUI technologies (Qt, Swing, SWT, etc.) very well. But soon we found that in nearly every GUI application custom components are used. These are often complex and interactive controls visualizing data in some way. While basic support for all custom components can be provided out-of-the-box (and is provided that way by Squish), there is no way a GUI testing tool can know all internals (such as internal objects) of such custom controls and support that in a robust way.

This made us think about extension capabilities. The first Squish edition where we offered an extension API was Squish for Web- the automted GUI testing tool for web applications. The reason for that is probably that esp. in the world of AJAX GUIs nearly all controls used are custom controls.

This extension allows users to implement a few functions in JavaScript to let Squish know how to query internal information of custom AJAX controls. That way every custom AJAX control can be supported equally well as standard HTML and AJAX controls already known to Squish.

Later we introduced a similar mechanism for our Squish for Java tool, which features automated testing of Java GUIs such as Swing, AWT, SWT and Eclipse RCP. Here we provide a few Java interfaces which you need to implement for your custom Java controls to allow Squish to drill down into the details of your custom controls.

Since these extensions solve many problems of GUI testing, we are now introducing similar extension APIs for our Squish for Qt edition. Also our new Squish edition for testing native Windows applications, which will be part of the upcoming Squish 4.0, will be completely built on this extension mechanism even internally.

Integratability: Many vendors of testing tools want to completely lock their users into their world. So they come with the complete tool set needed to automate the QA. We early realized that GUI testing is just one part of the whole QA process and also saw that most of our users already have automation systems in place for their unit testing. So they usually prefer to integrate Squish into their existing automation system instead of setting up a completely separate automation just for GUI tests.

So we decided to focus on making Squish easy to integrate instead of developing our own test management solution. To allow that we provided easy-to-use command line tools to start and control Squish test runs and generate an easy-to-process XML report from any test run. This allows for easy integration.

In addition we now also offer ready-made integrations for CruiseControl, Maven, Ant, Eclipse TPTP, HP Quality Center and more so Squish can be used as part of the whole test automation regardless of the tools in use.

We will also release our own test management system, which we use internally, eventually. But this will be just another way to do it and not replace our integration. Rather the opposite But we will always ensure that Squish stays easy to integrate since we really think that our users should have the choice what they want to use.

To end this article here are some links with further details on Squish’s extension and integration capabilities:

Funkwerk IT talks about their Squish usage

Tuesday, August 5th, 2008

We did another Squish success story. This time with the German Funkwerk IT, who uses Squish to test the control panel of an electronic railway control center.

You can read the full story at our web page

Squish Success at Ericsson

Tuesday, May 20th, 2008

Now that Squish is adopted more and more in large enterprises (Siemens, Reuters, etc.) we often get asked for references.

We were able to make another reference public by interviewing Ericsson, who started to use Squish for the Java GUI testing last year.

You can read the interview here.

Meet us in San Francisco

Thursday, May 1st, 2008

The JavaOne conference taking place next week will be our 3rd event to exhibit at this year. All of our customers and interested parties are invited to visit us at booth #940 in the Pavilion. We’ll be doing live Squish presentations and follow our tradition to hand out green gummi frogs. The conference program is loaded with interesting topics but I bet - and hope - that we’ll be too busy to attend any session ourselves.

We’ll be switching planes at London Heathrow on our way to San Francisco and back. When booking the flights I was still looking forward to using the new Terminal 5 to escape the traveller’s hell that Heathrow can be. Little did I know about the chaos that would arose at the day of its opening. Hope it will have settled once we are arriving there.

Anyone in for a spontaneous conference visit: please get in touch with us as we can provide reduced and free passes for the conference and exhibition area, respectively.