Zum Inhalt springen
Testautomatisierung.org – Magazin für funktionale und nicht funktionale Qualitätssicherung

Zurück zu den Artikeln

Screenshotvergleich mit Ranorex

Von Rainer Unger · · 0 Kommentare

Problemstellung: Vergleich der Darstellung von UI Elementen mit Ranorex.
Da es immer wieder vorkommt dass UI Elemente nicht korrekt dargestellt werden hier ein kleiner Codeschnipsel, welcher das Beispiel meines Kollegen (Ranorex Pixelfarbe ermitteln) etwas erweitert.

Hier wird bei einer gegebenen Auflösung (ggf. parametrisieren) von 1280x1024 pixelweise ein Screenshot verglichen.
Bei Abweichung wird ein Warning in den Report ausgegeben.
Die Methode läßt sich in Ranorex auch für nicht - Entwickler einfach verwenden.
Als Parameter wir das UI Element und ein Merker, ob es sich um das erste Bitmap handelt, übergeben.

Im Beispiel wird Notepad verwendet und ein leeres Textfeld mit einem Beschiebenem (Text: "Hallo") verglichen:
pic11478

Der Code versteht sich als Anregung und erhebt keinen Anspruch auf
Vollständigkeit.

public partial class Recording1
{
    private static Bitmap bmp1 = null;
    private static Bitmap bmp2 = null;

    ///

<summary>
    /// This method gets called right after the recording has been started.
    /// It can be used to execute recording specific initialization code.
    /// </summary>

    private void Init()
    {
        // Your recording specific initialization code goes here.
    }

    public static void saveBitmap(Adapter ui_control, bool first)
    {
        if (first)
        {
            bmp1 = Imaging.CaptureCompressedImage(ui_control);
        }
        else
        {
            bmp2 = Imaging.CaptureCompressedImage(ui_control);
        }

    }

    public static void Color()
    {
        for (int s = 0; s < 1280; s++)
        {
            for (int z = 0; z < 1024; z++)
            {
                Color cElementColor1 = bmp1.GetPixel(z, s);
                Color cElementColor2 = bmp2.GetPixel(z, s);
                if (cElementColor1 != cElementColor2)
                {
                    Report.Log(ReportLevel.Warn, "Bild weicht ab!" + z + " ---" + s);
                }
            }
        }
    }
}

Freundliche Grüße
Rainer Unger

Rainer Unger

Freiberuflicher Berater im Bereich Testautomatisierung.

Das könnte Dich auch interessieren

Kommentare

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Dein Kommentar geht per E-Mail an die Redaktion – er erscheint nicht sofort auf der Seite. Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit Stern markiert.