Visual Automate-/Testing System
The Automation Part:
The "Visual Automate-/Testing System" will simulate a real user. You can use it for Testing your Add-On's, or for production automation.
Using easy to remember 3-Letter commands like "MLC." (="Mouse Left Click") you can simulate Mouse Moves, Clicks and Keyboard typing just "Like a real user". Because there is no difficult syntax, the Scripting is easy to get into.
How will the Script know "where to click"?
You will take a small snapshot of the target - a picture - we call this a Pattern.
The Script will find these "Patterns" inside Blender and enables you to react (click?) on these. This way, your can "read Blender conditions" move the Mouse, Click on Symbols, Buttons or Menus wherever. Your Script can set or unset Checkmarks, select Tabs. Due to the use of Patterns, there are not many limitations.
It can do nearly whatever a human user can do, based on pre-recorded Patterns. These Patterns are small pictures that show the Script "where to click". You can check if recorded patterns do appear within an exactly defined time-frame. Your Script can react on such condition. Your Script can simulate the Mouse, do clicks or even drag items, do Keyboard Typing. You can make the Blender Console execute Python Scripts include VB-/JS-Script or Powershell. This way you can do nearly all things a normal User can do.
The Automation part is not limited to only Blender, it will also work in any other Software.
The Scripting Part:
The Script language is long time tested and very stable. It can automatically test if everything behaves as expected. And even supports parallel running Scripts (PRR. ... PRE.) that communicate with each other.
The system includes a full-featured Scripting System with Subprograms, DO LOOP, IF ... ELSE ... ENDIF, SELECT CASE, Variables with Strings or Hi-Precision Mathematics, and also Encryption, File-Access and nearly 800 more Options. Its easy to use and the Syntax is somehow like with the "good old BASIC Language".
What are these "Patterns"?
To be able to locate anything in Blender (or other Programs) the System uses so-called "Patterns". These Patterns are small pictures, size 8x8 to 32x16 that show the places where we are going to click or type.
You can see 2 Patterns below.
In the green Box, you can see Examples of a 16x8 Pattern in Blender Menus.
This way we have nearly no limitations in automating anything we want as long as we can snapshot the pattern. In the same way, we can check if Patterns are there or not, or we can wait for Patterns to appear.
The Pattern Search is very fast, typically the Scripts run at least as fast as if a human would click manually.
Coding it in the right way, the Script will be faster than even a trained user.
Finally, you can even compile executable files with your Automation-Scripts.
In this Video, you can see how it looks.
Besides these advantages, there are some disadvantages also. These are:
1. The System will ONLY RUN UNDER WINDOWS OS.
2. The System will need you to learn some Basic knowledge of Scripting.
3. As the System is based on Pixel-Patterns, the resulting Scripts are limited to the given System where the Patterns are recorded. This means you can not give the Scripts to someone else.
Chances are that on Systems with another Color Scheme or different Screen Parameters, the Patterns will not be recognized.
The advantage of Patterns includes, that these can not only be used in Blender but in any other Windows Program. Therefore, you can also use it to take the Results from Blender and automatically put these into other Programs like Photoshop, and have them automatically processed.
So it can not only be used for Testing, you may also use it to Script an automated Processing Environment to automatically produce Results.
The System includes the fully functional SPR-Editor.
Here is the HE-Recorder for recording the Patterns.
The HE-Recorder contains a "Check Pattern" Feature that allows you to test if a Pattern is unique or not. To make sure the Mouse will drive to the right place, a Pattern should be unique. See below.
The System includes Image Processing Features. Here you can see a "Remove Background watermarks" Script.
Image-Processing and Image-Combination features:
The Script-Language supports about ~12 internal "IR" (Image Register). You can load Images into these "Image Registers" and combine these by any thinkable rules. Down to RGB-Calculations for each single pixel.
You can also do Imageprocessing on these Images logically in any way individually or depending on each other.
Example:
1. load an Imagine into "IR 0" and convert it into b/w or greyscale.
2. Load another Imagine into "IR 1"
3. Create a new Image in "IR 2" with the same resolution.
4. Copy each Pixel from "IR 1" into "IR 3" if the corresponding Pixel in "IR 0" is darker then 50%.
Otherwise copy the Pixel from "IR 1".
There is no limitation on how complex these steps can be - because you can just script it.
Also you can store "IR's" (Image Registers) temporary in Variables and therefore you have virtually unlimited number of "IR's".
This way you can automatically prepare files before a rendering. Or automatically image-process the results of a rendering in any way.
Aftes such processing you can then save the result-Images. The IR's can also be automatically converted to b/w or greyscale, they can be resized to any resolution or you can "cut borders".
This way you can also automatically create - for example - black and white or grey Templates for use with Blender functions (Depth-Maps).
There is a large Help-File included that will explain the Pattern Engine as well as the other Commands.
The help-file may not explain the Basics of using a Scripting language and the SPR.
There are several videos explaining these topics on YouTube.
There is a complete Set of Pattern Commands, these will either locate one Pattern, or one of two Patterns.
There is also a SELECT CASE PATTERN Command (SCS. / CFP.) which can react to an unlimited Number of Patterns.
Dev Fund Contributor | |
Published | almost 3 years ago |
Blender Version | 2.6x, 2.7x, 2.77, 2.78, 2.79, 2.8, 2.81, 2.82, 2.83, 2.9, 2.91, 2.92, 2.93, 3.0, 3.1, 3.2, 3.3, 3.4 |
License | Mit |
Have questions before purchasing?
Contact the Creator with your questions right now.
Login to Message