ZenoTest
ZenoTest — Windows desktop UI test automation for Qt, WPF, WinForms & native apps. Record, script, and run automated GUI tests with CI/CD integration.

VerifyScreenCompareEdgeBased

void VerifyScreenCompareEdgeBased(string ctrl,
string screenshotSelector,
float tolerance = 0.04,
int blurRadius = 2,
int edgeBlurRadius = 2)

Description
Compares the current visual appearance of the specified control with its reference image using a robust edge-based comparison algorithm.
This method focuses on visual structure rather than pixel-perfect color accuracy.   It is more tolerant to anti-aliasing, slight rendering shifts, compression artifacts, and sub-pixel differences.

Parameters
- ctrl - The control to compare.
- screenshotSelector - The screenshot key to compare against (e.g. "default", "cmp01").
- tolerance - (optional) Maximum allowed structural edge difference      between the current and reference image (default = 0.04).
- blurRadius - (optional) Pre-blur radius applied before edge detection      to reduce noise and anti-aliasing effects (default = 2).
- edgeBlurRadius - (optional) Post-processing blur radius applied to the      edge map to increase tolerance against minor pixel shifts      and rendering variations (default = 2).

Example
void main()
{
    VerifyScreenCompareEdgeBased("BUTTON_OK", "default");
    VerifyScreenCompareEdgeBased("MAIN_WINDOW", "cmp01", 0.05, 3, 3);
}
#define #include CloseAUT Console mode do...while DoubleClick Execute Fail File for GetAUTFileVersion GetAUTProductVersion GetAUTQtVersion GetAUTSuspectedCompiler GetAUTSuspectedFramework GetCurrentWorkingDir GetName GetProcessID GetProcessIDHandle GetQtProperty GetText GetValue Handle HasFocus IsAUT64Bit IsChecked IsEnabled IsVisible LeftMouseClick LeftMouseDown LeftMouseUp MiddleMouseDown MiddleMouseUp MouseWheel Pass Predefined Constants Print rand RightMouseClick RightMouseDown RightMouseUp Script Language SendKeys SendMessage SetFocus SetNotFoundBehavior SetQtProperty ShellProcess Sleep StartAUT string TerminateProcess TimerStart TimerStop TimerVerifyLess vec2d VerifyContains VerifyEndsWith VerifyEqual VerifyExists VerifyGreater VerifyLess VerifyNotEqual VerifyNotExists VerifyScreenCompareEdgeBased VerifyScreenComparePixelExact VerifyStartsWith while