Windows C++ MFC Desktop Application - Automation records and replays user actions with images


I would like a Windows C++ MFC testing/automation application that captures user input (desktop screen image capture, mouse pointer and click location and keyboard text input) and records the data on disk for test cases so that they can be used to repeat the recorded actions. 

The captured data will be used to perform actions on the system by matching images from the recorded test case with the live desktop screen. The actions include moving and clicking the pointer and typing keys.

The user interface consists of a main window dialog with the following elements in descending order:

1) a menu,

2) a toolbar with buttons: Record, Play, Pause, Stop,

3) a scrolling tree view of test cases (with icon success/failure of last test run and an enabled/disabled check box) and

4) a scrolling list view of individual test case actions with icons indicating the type of action (mouse click, key press).

The test case tree view and test case action list view will contain context menus to add, edit, rename, delete and schedule items.


Primary Functions:

1) User Interface.

The user interface elements allow the user to add, edit and delete a 'test cases' and view them in a tree view. The tree view nodes should display the case name, a check box for status of the last run (success/fail) and a enabled/disabled check box scheduling. Selecting a 'test case' from the tree will load the associated actions for that case into the action list view. The test cases information is to be stored permanently on disk preferably in a folder with an XML file for the settings and image files for screen captures. 

Test cases and action entries should be able to move up and down in sorting order.

2) Recording a test case.

Clicking the record toolbar button will start a recording. The recording starts a thread that captures the desktop screen tile around the mouse pointer. When a mouse click or keyboard entry event occur save the last recorded image tile, around the mouse pointer, to disk along with the pointer location and the event type to an XML entry for the test case.

3) Running a test case.

Starting a test case will run through all of the steps recorded and stored in the case XML file. The actions recorded in a test case describe how to repeat mouse and keyboard actions given the current contents of the desktop. A mouse click will include a captured image tile and screen coordinates. As a test case runs the desktop image is continuously captured and scanned for a match against the current test case action tile.

Performance is key for this step and multiple threads and vectorization i.e. SSE would be ideal.

4) The scheduler

A thread and desktop tray icon manage a schedule function that runs test cases at a time specified by the test case or a global time. A schedule dialog allows the user to select a time of day to run the tests or if one test case is scheduled individually the time of day to run that case.

5) Detail view

A dialog displays action details including the image tile and any text input or mouse clicks in form fields. The user can modify the click location on the tile, change the input text etc.

Please note that this is just a summary of the project and detailed requirements as well as a prototype Visual Studio 2010 project are available upon request.

If you are interested in working on this project please send me a message with your availability, a reference to a similar or relevant application you have developed and a few sentences about how you would approach development.

Skills: C++ Programming, Windows Desktop

See more: mfc desktop, mfc automation, test cases mfc threads, mfc application threads automation, mfc visual studio 2010, xml data entry form, windows c programming, user tests, typing and data entry test, tree to box, tree starting with n, thread programming, studio icons, prototype reference, prototype move, prototype icons, programming schedule, programming icons, programming function keys, programming box requirements, pointer programming, performance press, icon desktop, icon cases, event run down

Project ID: #4659040

Awarded to:


I have a lot of knowledge and experience in C/C++ and Visual Studio, more than 8 years of experience. I have worked with MFC and WINAPI. I can help you. Please contact me.

$16 CAD / hour
(0 Reviews)

8 freelancers are bidding on average $12/hour for this job


MFC EXPERTS HERE! Consider this done! Contact us for more info. SI Team

$15 CAD / hour
(13 Reviews)

I am very proficient in c, c++. I have 15 years c++ developing experience now, and I have worked for 5 years, please let expert help you.

$12 CAD / hour
(21 Reviews)

I have 8 Years of experience in MFC VC++/COM, i can handle this very well.. please check PMB.

$12 CAD / hour
(4 Reviews)

Hello, I can help you.

$12 CAD / hour
(1 Review)

Hello, I have experiences similar with your project. Well, I can hook and control keyboard and mouse messages. Please look at my private message box.

$12 CAD / hour
(1 Review)

I can do your automation work in VC++ framework. I got excellent knowledge in this field. Please go through my profile. Also I would request to visit my webpage Please let me know if you're More

$12 CAD / hour
(2 Reviews)

We are ready to take the challenge. Please check the PM.

$12 CAD / hour
(0 Reviews)

I have experience in development for Windows - WinAPI & MFC. Please check PMB for details.

$12 CAD / hour
(0 Reviews)

I have a lot of experience in MFC Visual studio. I am ready to help you immediately

$9 CAD / hour
(0 Reviews)