Bot Programming: Intelligent Automation For Windows Applications And Games Review
Posted by
Pearlene McKinley
on 3/15/2012
/
Labels:
browser mimicing,
curl,
data mining,
internet presence,
php,
software testing,
spidering,
test automation,
testing,
webbots
Average Reviews:
(More customer reviews)I mainly purchased this book as a starting point to explore UI automation techniques. Unfortunately this is really a poorly written beginning Visual Basic.Net programming book which uses UI automation as a basis for presenting example code. Anyone without prevous programming experience could not extend the code much beyond what was presented without additional information due to the significant holes in the beginning programmers knowledge base that the author neglects.
The book appears to have been written for individuals with no programming experience since the author felt the need to spend the first few pages of each chapter providing screen shots of each property that needed to be modified in the properties window during the set up of the form for the new project. There is no discussion of proper programming techniques or basic information such as discussions of data types or flow control yet after the code listing the author discusses the code line by line to the extent that he talks about what the Else stmt and End If statements are for.
As an intermediate VB.net/C# programmer the level of detail was frustrating to deal with. I found myself skipping the first 2-3 pages of each chapter and skimming the rest looking for useful content. The code was presented poorly and didn't follow the standard code presentation / discussion format that typical programming books follow. Usually a book will only discuse the sections of the code important to the concept being explained rather than every single line. Alot of the details in the line by line discussion could have been more streamlined by properly commenting the code.
In respect to the useful Windows API information presented, it's more of a cut and paste code snippets book that includes a cursory review programming techniques without the discussion of why the code is written in this manner, alternative ways it can be accomplished or what is happening behind the scenes(See Effective GUI Testing Automation which is referenced below for detailed explainations). It teaches poor programming techniques such as programmatic use of the print screen key to perform a screen capture making use of the users clipboard. The correct way would be using gdi+ to directly store the the capture to a bitmap object leaving previously stored clipboard information accessible to the user. A program erasing the user's clipboard data is a pet peeve of mine...
The book itself appeared to need an additional review process. There were a couple of times where I had to reread a sentence to understand the authors intent since a word was obviously missing. I can't make any statements about the accuracy of the code since I did my coding in C#. Mainly I just used the Appendix A which is a listing the main recipes covered to look up Windows API functions on pinvoke(dot)net which is a great free resouce.
The author provides for download an application called the Automation Tool Helper. Unfortunately it's only available on lulu.com so you must provide your email address to them to be able to download it. In addition, the application is poorly thought out adding unnecessary steps to the development cycle. It allows you to enter a process name and get a list of processes that match, providing details such as MainTitleCaption, AppID, x and y position and height and width. It will take a screen capture of the application but then requires you to open MS Paint to determine the coordinates of a particular pixel. You must then return to the authors application, enter in the coordinates into the provided text boxes to return the RGB hex value. This could have just as easily been implemented so that the capture was dropped into a picture box. As you moved the mouse over the picture box you would be provided the x,y coordinates within the picture box and the RGB hex value automatically. This would remove the need to utilize MS Paint at all since a zoom function could easily be added. Also, rather than having to rely on the taskmanager to determine process names, the author could have populated a list of all active process names where clicking on one then provided you the same list of all matching processes with that process name. The first thing that I did after reading this book was rewrite the Automation Tool Helper to include all the improvements described and a couple more I thought of as I worked on it.
For the author to supply such a poorly designed development tool, the inefficient programming style and his indication in the Acknowledgment that his knowledge of bot programming was gained one question at a time on Experts-Exchange leads me to believe that the author is not an expert in this field that should not be relied upon as a source of the correct way things should be done. I would have also liked to have seen a section at the end of the book with references to sources of additional information, both online and in print. On a whole the book has been an adequate place to start learning about user interface automation while I waited for my other books to be delivered by amazon. Mainly it functioned as a tool to let me know what keywords I should be using in google to get additional detailed information. For the intermediate programmer I would highly recommend Effective GUI Testing Automation: Developing an Automated GUI Testing Tool and also .NET Test Automation Recipes: A Problem-Solution Approach (Expert's Voice in .NET) which are not specifically about application automation for purposes other than testing, but have similar concepts discussed in a much more thorough manner.
Click Here to see more reviews about: Bot Programming: Intelligent Automation For Windows Applications And Games
Find your love for botting, with step by step instruction in Visual Basic .NET creating Bots.The Following Windows Automations Are Covered:
Left And Right Mouse Clicks With Millisecond Timing
Set Focus On Specific Applications
Application Specific Mouse Clicks With Millisecond Timing
Send Individual Key Strokes With Timing Control
Send Multiple Keys Stokes Without Timing
Starting Remote Applications
Move Remote Applications
Resize Remote Applications
Run Automated Bots With Windows Scheduled Tasks
Perform Screen Captures
Use Pixel Recognition For Intelligent Decisions
Create Character Bots For Leveling Up In Games
Create Character Bots For Multiple Screen Games
Applications and Games Botted:
Windows Notepad
Windows Calculator
Windows Explorer
Firefox
3D Pinball for Windows
Flash Games World Of Pain And Hero's Arms
0 comments:
Post a Comment