CV_POM: Objekterkennung revolutioniert Web- und App-Tests

In der schnelllebigen Welt von Web- und App-Tests ist es nicht nur ein Ziel, sondern eine Notwendigkeit, einen Schritt voraus zu sein. Aus diesem Grund haben wir in unsere Website- und Anwendungstests Technologie zur Objekterkennung integriert. Lesen Sie weiter, um mehr über CV_POM zu erfahren und herauszufinden, wie Objekterkennung Ihr Testen auf ein neues Level heben kann.

In der schnelllebigen Welt von Web- und App-Tests ist es nicht nur ein Ziel, sondern eine Notwendigkeit, einen Schritt voraus zu sein. Aus diesem Grund haben wir in unsere Website- und Anwendungstests Technologie zur Objekterkennung integriert. Lesen Sie weiter, um mehr über CV_POM zu erfahren und herauszufinden, wie Objekterkennung Ihr Testen auf ein neues Level heben kann.

CV_POM: Ein umfassender Framework

Stellen Sie sich ein Framework vor, das Bilddaten in eine JSON-Ausgabe umwandelt und so ein Seitenobjektmodell erstellt, das alle erkannten Elemente einschließlich Objektnamen und Koordinaten identifiziert. Genau ein solches Framework haben wir mit dem Namen CV_POM entwickelt. Dieses Framework eröffnet Entwicklern und Testern eine Vielzahl von Möglichkeiten.

Die Vielseitigkeit von CV_POM

  • Einzigartige Lokatoren für UI-Elemente: Benutzer können die JSON-Ausgabe nutzen, um eindeutige Lokatoren für spezifische Elemente innerhalb der Benutzeroberfläche zu identifizieren.
  • Problemlose Integration mit Automatisierungstools: CV_POM integriert sich nahtlos in beliebte Automatisierungstools wie Selenium oder Appium. Diese Integration ermöglicht es Benutzern, Interaktionen mit der Benutzeroberfläche mithilfe vertrauter Tools zu automatisieren. Mit dem CVPOMDriver müssen Sie nur ein paar Methoden in der Klasse 'CVPOMDriver' überschreiben. Danach können Sie ihn verwenden, um UI-Elemente in Ihrer App zu finden und mit ihnen zu interagieren. Keine Sorge über die Details – es ist so einfach!
  • Plattformübergreifende Automatisierung: Da CV_POM nicht auf Anwendungsprogrammierschnittstellen (APIs) angewiesen ist, handelt es sich um eine generische Lösung, die für jede Plattform oder App-Kombination angewendet werden kann. Benutzer können dieselben APIs zur Automatisierung über verschiedene Plattformen hinweg verwenden.
  • Workflow-Automatisierung basierend auf der UI-Darstellung: CV_POM geht über die traditionelle Automatisierung hinaus und ermöglicht es Benutzern, Workflows basierend auf der visuellen Darstellung der UI zu automatisieren. Diese einzigartige Funktion ermöglicht die Validierung von Elementstylings und Platzierungen, ein häufig übersehener Aspekt in vielen Automatisierungstools.
  • Optische Zeichenerkennung (OCR): CV_POM enthält eine OCR-Funktionalität für einzelne Objekte.

Die Macht der Objekterkennung freisetzen

Objekterkennung, ein wertvolles Werkzeug im Bereich Computer Vision, ermöglicht es Computern, Objekte innerhalb von Bildern oder Videostreams zu identifizieren und zu lokalisieren. Es geht nicht nur darum, Objekte zu erkennen, sondern auch ihre genaue Position innerhalb des Bildes zu bestimmen. Dieses System basiert auf Deep-Learning-Modellen wie konvolutionalen neuronalen Netzen (CNNs), um visuelle Informationen zu analysieren und präzise Vorhersagen zu treffen.

Wenn ein Objekt erkannt wird, wird nicht nur der Name des Objekts, sondern auch eine Vertrauenswürdigkeit angezeigt.

Objekterkennung hebt sich durch ihre Fähigkeit hervor, eine Vielzahl von Situationen zu bewältigen und zeigt im Vergleich zu anderen Techniken wie Template Matching und Feature Detection eine außergewöhnliche Anpassungsfähigkeit. Während Template Matching auf vordefinierten Templates zur Objektidentifizierung basiert und Feature Detection sich auf die Identifizierung wichtiger Merkmale konzentriert, stoßen beide Methoden bei dynamischen Inhalten und Variationen in Größe und Aussehen auf Schwierigkeiten.

Nahtlose Tests mit CV_POM

Für das Training des generischen Modells haben wir einen vielfältigen Datensatz von über 20 verschiedenen Websites verwendet. Diese breite Exposition ermöglicht es dem generischen Modell, Objekte in unterschiedlichen Layouts mit beeindruckender Zuverlässigkeit und Genauigkeit zu erkennen, wie die folgenden Beispiele zeigen:

Entwicklungsprozess des CV_POM-Modells

Unsere Reise begann mit der Sammlung und dem Test von Datensätzen. Um unsere Modelle effektiv zu trainieren, benötigen wir viele verschiedene Bilder. Bilder können aus Browsern, Apps oder jeder anderen Plattform für die spätere Verwendung im Modelltraining abgerufen werden, obwohl die Erforschung der Bilddatenbeschaffung noch aussteht.

Nachdem alle Bilder gesammelt wurden, ist der nächste entscheidende Schritt die Beschriftung. Wir verwenden das Open-Source-Tool Computer Vision Annotation Tool (CVAT), ein webbasiertes Tool zur Annotation von Bildern und Videos. Dieser Schritt ist zeitaufwendig, aber absolut unerlässlich. Zunächst konzentrierten wir uns auf die Entwicklung eines generischen Modells, das 47 Objekte erkennen kann. Wir beschrifteten etwa 1300 Bilder mit mehreren Objekten in jedem Bild, um Präzision zu gewährleisten und menschliche Fehler auszuschließen.

Anschließend entwickelten wir spezialisierte Testszenarien und beschrifteten nur Objekte mit benutzerdefinierten Namen, die für bestimmte Testbedürfnisse relevant waren. Die Anzahl der Bilder hängt von dem konkreten Testszenario ab. Das zweite Modell, das auf spezifische Szenarien zugeschnitten ist, erreicht eine bemerkenswerte Genauigkeit (nahezu 99%) und übertrifft den ersten Ansatz mit 83%

Mit den beschrifteten Daten beginnt die Trainingsphase unter Verwendung der YOLO-Architektur. YOLO (You Only Look Once) ist ein Objekterkennungsalgorithmus, der ein einzelnes neuronales Netzwerk verwendet, um Begrenzungsrahmen und Klassenwahrscheinlichkeiten für Objekte in einem Bild vorherzusagen.

Die Ergebnisse? Beeindruckende Genauigkeitsergebnisse, nahtlose Objekterkennung und ein Framework, das die Welt von Web- und App-Tests revolutionieren wird.

Vor- und Nachteile der Objekterkennung bei Web- und App-Schnittstellen

Die Integration innovativer Technologien bringt oft eine Reihe von Vorteilen mit sich. Einige davon werden im Folgenden erwähnt:

  • Anpassungsfähigkeit an Veränderungen: Websites und Anwendungen erfahren oft Updates und Modifizierungen. Algorithmen zur Objekterkennung können sich diesen Änderungen anpassen und so die Langlebigkeit und Relevanz des Testprozesses über die Zeit hinweg gewährleisten.
  • Automatisierung: Durch die Möglichkeit, Objekte zu identifizieren, reduziert die Objekterkennung den manuellen Aufwand im Testprozess erheblich. Dies führt zu effizienteren und schnelleren Testprozessen.
  • Flexibilität: Die Objekterkennung kann eine breite Palette von Objekten auf einer Webseite identifizieren, einschließlich Bilder, Schaltflächen, Formulare und dynamische Inhalte. Diese Anpassungsfähigkeit ermöglicht umfassendere Testszenarien.
Obwohl Objekterkennung ein immenses Potenzial für Web- und App-Schnittstellen bietet, bringt sie auch Herausforderungen mit sich:

  • Ethische Aspekte: Es ist wichtig, bei der Verwendung von Objekterkennung verantwortungsbewusst vorzugehen. Entwickler und Organisationen müssen Benutzerdaten verantwortungsvoll behandeln und sicherstellen, dass ihre Implementierungen von Objekterkennung den relevanten Vorschriften und Best Practices entsprechen.
  • Datensicherheit: Da die Objekterkennung die Verarbeitung und Analyse von Daten beinhaltet, ist ihre Sicherheit von entscheidender Bedeutung. Starke Sicherheitsprotokolle sollten implementiert werden, um Benutzerdaten vor potenziellen Sicherheitsverletzungen oder unbefugtem Zugriff zu schützen.
  • Datenschutzbedenken: Die Implementierung der Objekterkennung erfordert die Handhabung von Benutzerdaten, was zu Datenschutzbedenken führen kann. Entwickler und Organisationen müssen vorsichtig vorgehen und sicherstellen, dass Benutzerinformationen verantwortungsvoll behandelt werden.

Was kommt als Nächstes?

Wir haben CV_POM als Open-Source-Framework unter der AGPL-3.0-Lizenz veröffentlicht. Wir laden alle Entwickler ein, sich einzubringen, das Framework zu erkunden und durch Beiträge noch besser zu machen.

Aber das ist noch nicht alles! Unser Team arbeitet an der Verbesserung der optischen Zeichenerkennung und entwickelt zusätzliche Tools, darunter ein großes Sprachmodell für automatisierte Testszenarien ohne Code, Inspektortools und mehr.

Lasst uns gemeinsam die Web- und App-Entwicklung verändern! Bleiben Sie auf dem Laufenden, welche spannenden Tools noch auf Sie zukommen. Happy Coding!