Helium: Einfache Webautomatisierung

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
michael.herrmann
User
Beiträge: 17
Registriert: Dienstag 20. November 2012, 12:43

Hallo!

Ich arbeite an einem Startup mit dem Namen BugFree Software. Wir launchen heute unser zweites Produkt und ich würde es euch gerne kurz vorstellen.

Helium ist eine Library für einfache Webautomatisierung. Mit Helium kann man mit einfachen Befehlen einen Browser starten, Webseiten besuchen, auf Elemente klicken, Formulare ausfüllen etc.

Zum Beispiel: Hier ist ein Skript, das euren Facebook-Status aktualisiert:

Code: Alles auswählen

from helium.api import *
start_chrome("facebook.com")
click("Deutsch")
write(deine_email, into="E-Mail oder Telefon")
write(dein_passwort, into="Passwort")
click("Anmelden")
write("Hallo Welt!", into="Status")
click("Posten")
Helium basiert auf dem Industriestandard für Webautomatisierung, Selenium. Selenium ist oft sehr technisch in der Anwendung und Helium verbessert das. Helium ist mit Selenium zu 100% kompatibel.

Helium läuft auf allen Plattformen und ihr könnt damit alle gängigen Browser automatisieren.

Für mehr Information besucht doch einfach unsere Homepage. Ihr könnt dort auch eine Trial von Helium herunterladen.

Ich würde mich auch sehr über Feedback freuen. Was haltet ihr von der Idee?

Danke fürs Lesen und viel Spaß beim Automatisieren,
Michael
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

michael.herrmann hat geschrieben:Für mehr Information besucht doch einfach unsere Homepage. Ihr könnt dort auch eine Trial von Helium herunterladen.

Ich würde mich auch sehr über Feedback freuen. Was haltet ihr von der Idee?
Bin nicht so begeistert fürs Testen auf UI-Elemente zuzugreifen. Da ändert jemand die Beschriftung und bäm, der Test fällt auseinander. Da wünschte ich mir eher mal XPath oder CSS-Selektoren um Elemente auszuwählen.

Und bei diesen Sternchen-Importen bin ich einfach nur traurig. Ich predige seit Jahren dass man sowas nicht machen sollte und dann seh ich das :cry:

Von der Idee her interesant, aber eher für End-User-Skripting, nicht so sehr für Testing, finde ich.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
michael.herrmann
User
Beiträge: 17
Registriert: Dienstag 20. November 2012, 12:43

Hallo und danke für deine Antwort.

Du hast natürlich recht bezüglich den Sternchen-Importen. Leider kann ich meinen Beitrag oben nicht mehr editieren, oder ich finde nur den Button dafür nicht(?)

Bezüglich Ändern der Beschriftung: Klar, das Problem besteht. Aber es besteht doch genauso bei XPaths oder CSS-Selektoren oder? Dh wenn sich an der HTML-Struktur oder an zB den CSS-Klassen was ändert wird der Test auch nicht mehr funktionieren.

Danke für dein Feedback!

Frohe Weihnachten,
Michael
BlackJack

@michael.herrmann: Beschriftung wird von Entwicklern/Designern aber ohne gross über Folgen nachzudenken geändert, denn üblicherweise hat das ja keine Folgen — ausser ein besserer, verstänlicher Text hoffentlich. Wenn man IDs oder CSS-Namen ändert, zieht das in aller Regel Änderungen an JavaScript- und CSS-Quelltexten nach sich. Das macht man nicht ganz so leicht.
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

Hallo,

Ich habe euer Produkt Mal ausprobiert.
Beim Anmelden konnte ich meinen Namen nicht eingeben, weil dieser Umlaute enthält. Die JavaScript Meldung hieß es dürfen darin keine Sonderzeichen vorkommen.

Code: Alles auswählen

start_firefox()
sagt:
Could not find firefox in your system PATH. Please specify the firefox binary location or install firefox
Das stimmt auch, weil ich Firefox Portable verwende. Allerdings habe ich Firefox bereits gestartet. Ein Dateiöffnen Dialog wäre nutzerfreundlicher um den Pfad zu Firefox angeben zu können.
Wenn ich nun

Code: Alles auswählen

go_to("xyz")
ausführe bekomme ich die kryptische Fehlermeldung:
AttributeError: 'NoneType' object has no attribute 'bfs10267'
Da wäre etwas wie "Bitte starten sie zuerst einen Browser mit start_firefox(), start_chrome() etc." sinnvoller.

Mit dem ie hat es dann funktioniert. Allerdings wurde bei go_to() ein Tab im Hintergrund geöffnet, was etwas unintuitiv ist. Trotzdem hat es die weiteren Befehle ohen Probleme angenommen.

Die Beispiele sind zwar nett, aber wenig überzeugend. Sie zeigen nicht eindeutig den Vorteil der Automatisierung gegenüber der manuellen Durchführung. Was interessant wäre sind Use Cases bei denen ein wirtschaftlicher Gewinn ersichtlich ist. So oft brauche ich die Automatisierungstools selbst nicht; Ich überlege mir immer vorher ob es die Automatisierung auch lohnt (https://xkcd.com/1319/ http://xkcd.com/1205/).
Was mir als praktisch erschiene wäre z.B. (aus der Luft gegriffen) ein Skript zur Automatisierten Einrichten eines CMS wie Drupal. Bei Sharepoint lässt sich bestimmt auch einiges automatisieren.

Ich habe für langwierige Prozesse sonst auf Autoit oder Sikuli zurückgegriffen. Das letzte Mal war es das Löschen mehrerer tausend Dateien von Amazon S3 und Google. Für Firefox gibts noch iMacros, was mir nicht gefallen hat, u.a. weil die kommerzielle Version keine Bilder erkennen konnte. Bei GreaseMonkey bin ich nie richtig eingestiegen und Selenium habe ich zwar schon gehört, aber noch nicht verwendet.
xpath Unterstützung wäre natürlich eine schicke Sache, wenn das möglich ist. Ich habe zwar die Erfahrung gemacht, dass sich die xpaths von Webseiten auch häufig ändern; das geht in heutigen CMS Systemen ja einfach über die Änderung eines Templates, oder passiert beim Update des Systems sogar von selbst. Allerdings kann heutzutage selbst ein Laie einen XPath einer Webseite extrahieren (z.B. mit dem Firefox Plugin FireBug).
Ich kann dir empfehlen dich in größeren Unternehmen umhören, wenn das irgendwie geht. Es ist verrückt, womit manchmal die Arbeitsstunden verschwendet werden. Und mit einem konkreten Use Case, bei dem man sieht aha soundsoviel Zeit/Geld wird gespart lässt sich besseres Marketing machen als abstrakt mit "Automatisierung". Vielleicht könnt ihr auch eine Art Sammelstelle anbieten, um Probleme und Vorschläge aus der Praxis entgegenzunehmen.
Viel Erfolg mit deinem Unternehmen.
Antworten