views:

591

answers:

3

We have a system that was originally developed decades ago and has increased in code base over the years. This is a fairly major system, with configuration that our department maintains (the vendor does not allow us access to the source or underlying database). The client software is a proprietry developed application which is basically a fancy terminal application connecting to the main database.

I want to be able to write unit testing to automate testing the various functional components of the system. I have attempted using AutoIT and AutoHotkey with no luck, my problem is I cannot read the data from the window as it is a custom class (the window finder comes up blank). I have even tried using an OCR API with AutoIT with no success (its not reliable). I have also tried using a terminal emulator like CRT and putty with limited success as the normal client software sends specific non-terminal-standard data when pressing keys etc.

It seems that all testing suites really only apply to web based applications or more standardised applications.

Has anyone else had a similar problem?

A: 

Try "Automated QA: Test Complete". We've been using it for a major application for while now, and it's the only product that can test WPF, Win32, .NET, Java, etc. etc. applications with almost no hassle. Once you create the test scenarios you can re-run it later as a regression test.

Hadi Eskandari
A: 

For automated GUI testing of thick and/or terminal clients on Windows, you might also consider IBM Rational Functional Tester, IBM Rational Robot, HP QTP, Compuware TestPartner, Borland SilkTest.

More specifically, it sounds like you might need to use the old copy-paste work around. Does the terminal window have the equivalent of Edit->Select All, Edit->Copy menus? If so, you can code it to click the GUI menus to select all text and copy to the clipboard. Once the text is on the clipboard, you can use the clipboard API to access and parse the text.

Tom E
Unfortunately no, the software does not have any kind of copy/paste, we cannot even highlight text. But I will still look into the products you mentioned!
Mrgreen
That's odd, usually even for terminal or green screen apps you can at least do a select-all, copy, as the terminal window itself can allow you to copy all the text in the buffer. For example, in a Windows command prompt, you can automate Edit->Select All, Edit->Copy to get the text from the command prompt onto the clipboard buffer.
Tom E
Yeah it is odd, the vendor has deliberately disabled it. I believe it was due to confidentiality reasons (the data is very sensitive). There is no ability to highlight, copy, paste and really have anything to do with the clipboard. This is probably my main hurdle in testing.
Mrgreen
A: 

I ended up using a combination of AutoIT and TextCaptureX. The solutions suggested above are good products, but don't really work in this case. TextCaptureX actually hooks in to the Windows GDI to grab text.

I have since developed test scripts that perform GUI testing on our application very well.

Mrgreen