Software automation recomendations

JohnnyMCE

Member
Apr 13, 2006
141
0
0
Here is the confines i need to work within. My boss wants me to automate a process. So far I have used perl for pushing source data files around. Now I am at a point where i need to interact with a third party app. This is a completely closed source application and the vendor will not give us any kind of access to the code. Also inside of the actual application most of what needs to be done can only be controlled via mouse clicks (the apps is not capable of commands or tab overs or shortcuts). I have played with Rational Functional Tester but the vendor app is slow and glitchy and RFT would always error out. Plus if i changed computer with different monitor suddenly the mouse clicks are off and RFT would error out.

What are my options even in this case? My boss really wants this process automated but I can't think of a viable product or even method of coding to make this happen.

BTW reverse engineering of the 3rd party app is not viable as it would break contract and unfortunately we can't find a better 3rd party app or get the funds to create our own product for the what 3rd party app does.
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
Talk to the app vendor and see if they can't add commandline options. A good software vendor should be accommodating.

Until then, I don't know of a good gui app.. someone else here should.
 

JohnnyMCE

Member
Apr 13, 2006
141
0
0
I appreciate the response but there is a crucial part of that response that the vendor does not meet.... "good". I've asked about a command line option but they will not create one. They have made it clear that they only have a gui app.
 

Ken g6

Programming Moderator, Elite Member
Moderator
Dec 11, 1999
16,838
4,817
75
Is there any chance it's a .NET application? That could help. I have seen hooking into a .NET application done; though I'm not sure exactly how.

There's also HP QuickTest Professional, but it's really expensive.

Also, any chance you could tell us what this not-good vendor's app does?
 

Noobsa44

Member
Jun 7, 2005
65
0
0
You can use a external program like AutoIt (http://en.wikipedia.org/wiki/AutoIt) or AutoHotKey (http://en.wikipedia.org/wiki/AutoHotkey) which are meant for IT rather than testing, or you can develop your own solution. I think using an external program is a better choice, but sometimes it is more comforting to "own" the code and use a standard language rather than have additional dependencies in non-standard languages.

There are two easy ways to roll your own solution in windows. The easiest IMHO is to look at the .net automation framework (system.windows.automation) which is included in .net 3.5. Otherwise, if you can get the hwnd of the button you want to press, you can use the win32 apis to click the button. The code would look something like this: SendMessage(HWnd, BM_CLICK, 0, IntPtr.Zero). If you want further details on getting hwnds of the window, I suggest you do a web search for EnumWindowsProc.
 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
/agree Noobsa44.

AutoHotKey, assuming this is Windows we're talking about here.
 

JohnnyMCE

Member
Apr 13, 2006
141
0
0
the application believe it or not is built with c# and foxpro.

I checked out some of the recommendations from all of you and sikuli is EXACTLY what I have been looking for in less than a day I am about 80% done with the automation process. Obviously hours of testing will be needed but great find.