Testautomation in Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Helle
User
Beiträge: 7
Registriert: Sonntag 29. Januar 2017, 12:59

Hallo zusammen,

ich wollte mich bei euch mal umhören, ob hier irgendjemand Erfahrung im Bereich Testautomation mit Python hat?
Es gab hierzu schon mal einen Thread von einem User, aber dieser Thread ist relativ früh "gestorben"... Nun ein neuer Anlauf.. :)

Bin hierbei auch schon auf PyAutoGUI gestoßen (https://pyautogui.readthedocs.io/en/latest/index.html), hier kann man schon mal bestimmte Eingaben von Peripheriegeräten simulieren und auch Screenshots erstellen. Habe allerdings nichts gefunden um bestimmte Werte zu überprüfen.

Im Speziellen geht es mir um Folgendes:
* Ich will GUI Masken öffnen können und Maskeninhalte (Spaltenwerte, Bilder, ...) prüfen können
* Ggf. Werte aus Dateien (xml, xls) importieren
* Würde es gerne vermeiden Tools zu benutzen, aber wenn es nicht anders geht, dann kostenlose Tools. (Das Ganze ist für ein Freizeitprojekt)
* Alles möglichst unabhängig von Auflösung und anderen Eigenheiten von Testumgebungen gestalten, quasi möglichst robust

Hat hierzu wer Ideen, Tutorials oder gar eigene Erfahrungen?
Danke schon mal :-)
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

Spannend - ich antworte, weil es sonst keine Antwort gab; ich habe mich mit dem Problem noch nie befasst.

Es gibt m. E. für Python das Modul doctest oder das Modul unittest. Gefühlt würde ich sagen, dass Du mindestens unittest benötigst. Ich habe noch nicht gesehen, dass damit GUIs getestet wurden, Webanwendungen, da kenne ich einen, der das mal berichtet hat, weil das seine Hauptaufgabe in einem Projekt war.

Screenshots kann man mit PyScreeze (https://pypi.python.org/pypi/PyScreeze) machen, ist plattformunabhängig. Ich würde dann ggf. "PIL" oder "Pillow: the friendly PIL fork" einsetzen, um die Bilder weiterzuverarbeiten, wenn Du denn unbedingt an die Screenshots heran musst. Ich denke: Viel Programmieraufwand, je nachdem, was du haben willst/musst.

Noch 2 Gedanken: (1) Als ich noch GUIs (einfache) entwickelt habe, da habe ich die händisch getestet und geschaut, ob die das machen, was sie machen sollen. Das ist jetzt Jahre her. Eingaben könntest Du ja simulieren. (2) Du könntest mal Ausschau nach einem Projekt mit GUI-Einsatz halten und dort fragen, wie die das machen. (stackoverflow.com ist auch immer ein Tipp - Such-Funktion oder Posten).

Ich hoffe, weitergeholfen zu haben. :roll:
Dav1d
User
Beiträge: 1437
Registriert: Donnerstag 30. Juli 2009, 12:03
Kontaktdaten:

Das Einzige was mir bisher untergekommen ist und wahrscheinlich brauchbar ist: https://ldtp.freedesktop.org/wiki/

Wenn du es ausprobierst würde ich gern dein Fazit dazu hören.
the more they change the more they stay the same
Helle
User
Beiträge: 7
Registriert: Sonntag 29. Januar 2017, 12:59

Ui, hätte nicht mehr damit gerechnet, danke euch beiden!

@ pixewakb:
Ich denke auch, dass ein Test fast ausschließlich über Screenshotabgleiche nicht wirklich das Gelbe vom Ei ist und auch ziemlich fehleranfällig wenn ich mir vorstelle, dass in bestimmten Masken gescrollt werden muss um alle Werte sichtbar zu machen die geprüft werden sollen, die Screenshots auch permanent im Laufe eines Softwarezykluses aktualisiert werden müssen, ...
Für kleinere Masken oder Teile davon ist es allerdings bestimmt eine Option die man zusätzlich einbauen kann.

@Dav1d:
Das Projekt hört sich sehr interessant und brauchbar an. Werde mich mal näher damit beschäftigen und schauen was damit auch in Kombination mit PyAutoGui und PyScreeze möglich ist und anschließend Rückmeldung geben.
Antworten