Sicher verstaut - Deduplizierung spart Platz, Cloud-Backup für Windows, Areca sichert kostenlos. ADMIN 01/14 stellt Backups für Profis mit und ohne Cloud ... (mehr)

Die Entwicklung

Die Entwicklung von Al'exa startete im Oktober 2012. Erst dank der Vielfalt existierender Open-Source-Technologien im Bereich visueller Erkennung (OpenCV) sowie dank des OCR-Scanners Tesseract war es überhaupt möglich, in dieser kurzen Zeit eine erste Version zu entwickeln. Dabei war von Anfang an klar, dass Al'exa selbst unter einer Open-Source-Lizenz stehen wird, sodass sich eine entsprechende Community bilden kann. Eine enge Zusammenarbeit mit dem Team des freien Überwachungssystem von NetEye war dabei ein wichtiger Schritt, um das Projekt rasch voranzubringen.

Die Architektur

Die Architektur von Al'exa ist um OpenCV, Tesseract-OCR und um Python herum aufgebaut. OpenCV übernimmt sozusagen die Aufgabe eines Auges, nämlich des Erkennens der visuellen Objekte am Bildschirm. Die Integration von OpenCV in Python ermöglicht es dabei, Bildschirmschirmelemente wie Labels, Buttons, Wörter und Textfelder zu erkennen und diese dann dank der Windows-Events auch wie ein gewöhnlicher Anwender anzusteuern (Abbildung 3).

Abbildung 3: Die Al'exa-Architektur.

Tesseract-OCR übernimmt in Al'exa die Aufgabe, Bildelemente als Textbausteine zu erkennen, sodass sie umgehend als Input für reguläre Ausdrücke in Python genutzt werden können.

Python als Skriptsprache eignet sich in diesem Zusammenhang sehr gut als Bindeglied zwischen den Technologien OpenCV und Tesseract-OCR. Python verfügt über sehr viele, bereits vorhandene Bibliotheken, sodass einfache Test-Cases sehr schnell erstellt werden können. Darüber hinaus besteht auch die Möglichkeit, Test-Cases dynamisch zu erweitern und somit bei Datenbankanwendungen zum Beispiel unterschiedliche Daten zu erfassen und abzufragen. Diese erweiterte Intelligenz ermöglicht Al'exa, das tatsächliche Anwenderverhalten noch besser zu simulieren.

Erweiterungsmöglichkeiten auf Basis bisheriger Simulationsdurchläufe werden zudem laufend im Bereich Test-Cases, aber auch in der Engine archiviert und für zukünftige Szenarien als Erfahrungswerte genutzt. Kontinuierliche Verbesserungen sind vor allem in diesem Zusammenhang durch den Community-Beitrag möglich, um auch sehr komplexe Anwendungsszenarien abzudecken und zum Beispiel auch über das operative Monitoring den Weg in Richtung QA/Regressionstest oder auch Skalierbarkeitstests zu gehen.

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022