My QA team is looking into creating a standalone application that we can distribute to our clients that will assist them in creating regression test test scripts for our automated testing process (that was a mouth full).
We have a format to the test scripts that we must keep to and it is hard to educate every client as to what that is. We end up taking the requirements and creating the scripts ourselves.
Basically what we want it a macro recorder. Here is the scenario we would like to achieve:
The client starts the Test Script Generator (TSG) and then starts a task. As the click and type in their application we would like to record (generate) a script file that we can immediately take and run in our automated testing system.
Basically what is needed it for the application to intercept message information. For example, when a left click occurs we need to know the coordinates, the object information (stuff that an object browser would give you), and anything else that might be helpful (just for the sack of there being 3 items in the list) [img]/images/graemlins/smile.gif[/img] .
We have looked into hooks, though they are proving to be a challenge in C# .NET (the language isn't set in stone, we could use another).
I guess what I am asking is, is there anyone out there that could point us in the right direction (maybe that has done this before)? Are there any (good) tutorials for windows hooks? Is there something already out there like what we need?
What we need is basically what TestComplete does. A macro recorder that generates executable scripts (is there a way to change the output for TestComplete's recorder?).
You might check out open source tools that already implement hooks into Windows or into .NET applications. SharpRobo is one such choice. It's not exactly what you want; but the code shows you some of how they did what they did.
That's how I learned to write my own action recorders anyway, at least in C#.
Thanks, I'll give SharpRobo a try. I have used some things like WinRecord and things like that to try the same thing...we'll see if this works.
As for the reason we don't use TestComplete, we have a system "in place", we create the test scripts and our system automates the test...TestComplete serves its purpose in our process.
We also can't give TestComplete to our clients to create the scripts.