Attribute von AutoIT

  • Hallo Leute,

    ich will AutoIT für meine Abschlussarbeit benutzen um automatisch um eine bestimmte Uhrzeit ein Windows Oberflächentests "laufen" zu lassen.
    Erst einmal generell die Frage : Ist das möglich ?

    Sofern ja, hätte ich hier noch ein paar detalliertere Fragen, worüber ich auch keien oder kaum Information bei Google gefunden habe:

    Modularisierung: Testskripte können aufgesplittet werden um so eine höhre Wiederverwendbarkeit zu gewährleisten. << wahrscheinlich nicht, oder ?

    Ausgereifte Fehleranalyse: Es gibt einen Debug-Mode sowie eine Variablen-Analyse ( werden die meisten von JUnit kennen )

    Komponentenwiedererkennung: Die Objekt auf denen getestet wird, werden per Algorithmus wiedererkannt. Das heisst, die Identifzierung der Objekte erfolgt über ID's und nicht über Positionsangaben ( x , y ) ?

    Reporting:

    Es gibt die Möglichkeit Auswertungen über den Test zu erstellen und zu exportieren

    Continuous Integration :

    AutoIT lässt sich an einen Continuous Integration Server anbinden, um dort die gemachten Ergebnisse (schön) sichtbar zu machen

    Einarbeitungszeit:

    Wie kommt man eurer Meinung mit AutoIT zurecht, wenn man keine Vorkenntnisse in BASIC hat?

    Bedienkomfort:

    Ist es für euch angenehm mit AutoIT zuarbeiten, oder wünsch ihr euch eher ein Capture-Replay-Tool ?


    Mit freundlichen Gruß und danke im Voraus für die Antworten,

    Michael

    Einmal editiert, zuletzt von zobi (29. August 2012 um 14:52)

  • Hallo Leute,

    ich will AutoIT für meine Abschlussarbeit benutzen um automatisch um eine bestimmte Uhrzeit ein Windows Oberflächentests "laufen" zu lassen.
    Erst einmal generell die Frage : Ist das möglich ?

    Sofern ja, hätte ich hier noch ein paar detalliertere Fragen, worüber ich auch keien oder kaum Information bei Google gefunden habe:

    Modularisierung: Testskripte können aufgesplittet werden um so eine höhre Wiederverwendbarkeit zu gewährleisten. << wahrscheinlich nicht, oder ?

    Ausgereifte Fehleranalyse: Es gibt einen Debug-Mode sowie eine Variablen-Analyse ( werden die meisten von JUnit kennen )


    Ist alles möglich.

    Komponentenwiedererkennung: Die Objekt auf denen getestet wird, werden per Algorithmus wiedererkannt. Das heisst, die Identifzierung der Objekte erfolgt über ID's und nicht über Positionsangaben ( x , y ) ?


    Was ist Komponentenwiedererkennung?

    Reporting:

    Es gibt die Möglichkeit Auswertungen über den Test zu erstellen und zu exportieren


    Ja kannst du.

    Continuous Integration :

    AutoIT lässt sich an einen Continuous Integration Server anbinden, um dort die gemachten Ergebnisse (schön) sichtbar zu machen


    Was ist ein Continuous Integration Server? Zum sichtbarmachen kannst du ja eine GUI erstellen.

    Einarbeitungszeit:

    Wie kommt man eurer Meinung mit AutoIT zurecht, wenn man keine Vorkenntnisse in BASIC hat?

    Bedienkomfort:

    Ist es für euch angenehm mit AutoIT zuarbeiten, oder wünsch ihr euch eher ein Capture-Replay-Tool ?


    Es kommt halt darauf an, ob du mit programmieren schon Erfahrung hast. Ansonsten 1-3 Wochen, dann kannst du auch die Grundlagen.
    Bedienung ist eigentlich dank der Hilfe und dem Forum sehr gut.

  • Zuerstmal rate ich dir AutoIt zu verwenden und nicht AutoIT (letzteres gibt es nämlich nicht ;) ).
    Wenn ich mir deine Fragen durchlese, stellen sich mir eigentlich die gleichen Fragen wie m-obi.

    Die Fehleranalyse von AutoIt würde ich nicht wirklich als ausgereift bezeichnene, eher als ausreichend. Es kann z.B. gut vorkommen, dass du irgendwo ein EndIf vergisst und du dann 4 Fehlermeldungen ausgespuckt bekommst, die dir aber nicht wirklich weiterhelfen (wie z.B. dass ein WEnd fehlen würde...). Dann weiß mal halt: OK, ich hab' irgendetwas vergessen, aber man weiß nicht wirklich was.
    Mit AutoIt kommt man eigentlich recht schnell zurecht, wenn man einmal verstanden hat, wie Programiersprachen im Allgemeinen funktionieren (Variablen, Schleifen, If-Abfragen).
    Es ist eigentlich recht einfach und angenehm mit AutoIt zu arbeiten. Ich denke, das liegt vor allem daran, dass ein AutoIt Code recht übersichlich aussieht. Es gibt z.B. keine blöden geschweiften Klammern oder Strichpunkte nach jeder Zeile.

  • Modularisierung: Testskripte können aufgesplittet werden um so eine höhre Wiederverwendbarkeit zu gewährleisten. << wahrscheinlich nicht, oder ?

    Ausgereifte Fehleranalyse: Es gibt einen Debug-Mode sowie eine Variablen-Analyse ( werden die meisten von JUnit kennen )

    Ist alles möglich.

    Wie mache ich das denn ? Ich habe Autoit installiert und mir mal so ein Testskript geladen, ich finde aber keine Weg die Skript aufzuteilen um sie dann später wieder zusammenfügen zu können. ( Natürlich ausser Copy + Paste des Codes )


    Komponentenwiedererkennung: Die Objekt auf denen getestet wird, werden per Algorithmus wiedererkannt. Das heisst, die Identifzierung der Objekte erfolgt über ID's und nicht über Positionsangaben ( x , y ) ?

    Was ist Komponentenwiedererkennung?

    Mit Komponentenwiedererkennung meine ich, dass AutoIt den Objekten (z.B. Buttons) ID's (oder sowas in der Art) zuweist, um für jede ID ein Objekt zu haben. die Wiedererkennung erfolgt dann das Abfragen der ID's und nicht über Positionanzeigen auf dem Bildschirm ( z.B. 500 , 600 )


    Continuous Integration :
    AutoIT lässt sich an einen Continuous Integration Server anbinden, um dort die gemachten Ergebnisse (schön) sichtbar zu machen

    Was ist ein Continuous Integration Server? Zum sichtbarmachen kannst du ja eine GUI erstellen.

    Ein Webtools auf dem viele Plugins zur Qualitätsverbesserung der Software installiert werden können. Außerdem lässt sich über den Software der Build-Prozess für die Software starten.

  • Wenn du es schreibst geht sogut wie alles in Autoit. Nur bezweifel ich stark das du soviel Zeit hast während deiner Abschlussarbeit dich in die, dir scheinbar komplett unbekannt, Materie Autoit einzuarbeiten das es soweit beherschst, um das von die zu erreichende Umsetzen zu können.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Du kannst Skripte per #include in dein Hauptskript einbinden und deren UDF's nutzen.

    Die Controls(Buttons, Labels, Comboboxen,...) geben als Rückgabewert eine ID zurück, welche du brauchst um die Controls auszulesen (z.B. GUICtrlRead) oder um etwas zu verändern (z.B. GUICtrlSetData).

    Achja und debuggen geht über MsgBoxen und ConsoleWrite, wie zum Beispiel bei Python mit print.

    Für Qualitätsverbesserung brauch ich keine Tools, das schaff ich auch alleine. Schließlich weiß ich am besten wie das Skript aufgebaut ist und wo Verbesserungspotenzial drinsteckt.

  • chip,

    das bezweifel ich auch, ich suche momentan noch einen Weg, wie ich mir trotzdem ne gute Noten sichern kann. Ich werd wahrscheinlich QTP und Autoit explemplarisch antesten um Vor- und Nachteile auszuwerten.

    @m-obi,
    Ah okay. Ich merke schon Autoit hat deutlich mehr zu bieten, als man auf den ersten blick denkt.
    Der CI-Server wird hier im Unternehmen eingesetzt und das ist ne Anforderung von Unternehmensseite, irgendwann die Tests automatisiert nachts in den Build-Prozess zu integrieren, sodass am nächsten Morgen die Entwickler. Ne Auswertung über ihren Code zur Verfügung haben. ( So ist es aktuell mit unser Java-Web-Anwendung )

    Gruß

  • chip,

    das bezweifel ich auch, ich suche momentan noch einen Weg, wie ich mir trotzdem ne gute Noten sichern kann. Ich werd wahrscheinlich QTP und Autoit explemplarisch antesten um Vor- und Nachteile auszuwerten.

    Du scheint das was komplett falsch verstanden zu haben. Autoit ist eine vollwertige Scriptsprach und keine simple Testsoftware wie QTP. Da vergleichst Äpfel mit Birnen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Was willst du denn von Autoit für Ergebnisse haben für den CI-Server?

    Es geht in erster Linie nur um den nightly-build. Ob, und vor allem Welche Plug-Ins es gibt/ geben wird, ist eher vorausschauend für die Zukunft gedacht

    Du scheint das was komplett falsch verstanden zu haben. Autoit ist eine vollwertige Scriptsprach und keine simple Testsoftware wie QTP. Da vergleichst Äpfel mit Birnen.

    Ich brauche im Prinzip nur ein Tool was Oberflächen "lesen" und testen. Erstmal soll jede Nacht auf einem Testserver eine bestimmte Klick- und Eingabenfolge simuliert werden. Das hat den Grund, dass bei Updates die Mitarbeiter nicht die Software erneut testen braucehn sondern ein automatisches Skript diese Aufgaben übernimmt. Ich brauche anscheinend also nur einen Bruchteil der Fähigkeiten von Autoit.

    Gruß

  • Das was du brauchst ist schlicht ein Tool um Makros zu erstellen.

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • Du brauchst das, wofür es eigentlich mal entwickelt wurde. :D
    Mausklicksimulationen.

    Das ist wirklich nur ein Bruchteil. Das geht ja dann recht schnell. Maximal 1 Tag oder weniger, dann ist das Skript fertig.

  • Guten Morgen, ja, das hört sich doch gut an. Sicher kann man mit Autoit mehr machen, das war mir auch schon klar, allerdings wollte ich nur wissen wie es um die weiteren Funktionen steht, sofern man das Programm heir im Unternehmen einsetzt.

    Brauche jetzt nurnoch eine Antwort, ob man AutoIt mit nem Build-Management-Tool a la Maven verbinden kann um so auch die CI-Server-Fähigkeit zu erreichen

    Gruß

    Einmal editiert, zuletzt von zobi (3. August 2012 um 09:38)

  • Tach :D
    ...verbinden... Hmmm da AutoIt keine IDE hat/ist stelle ich mir das im Sinne von einer 'IDE Integration' über eine PlugIn dll schwierig vor!
    So wie ich das verstanden habe benötigst du AutoIt um z.B. auf Button´s und so zuzugreifen, dafür bringt AutoIt auch direkt ein Tool mit (Au3Info.exe) um die Controls und deren ID´s auslesen zu können. Diese benötigst du um gezielte Klicks und Mausbewegungen sowie Eingaben machen zu können. Dann brauchste nimmer mit Coordinaten Arbeiten :)
    Nochmals 'verbinden' ...du könntest mit AutoIt sämtliche Tools Steuern/Ansprechen aber eher selten über ein Tool auf die AutoIt Fähigkeiten zugreifen können. Das mußt du dir dann schon selber Coden ;)

    Grüsse!

  • Tach :D
    ...verbinden... Hmmm da AutoIt keine IDE hat/ist stelle ich mir das im Sinne von einer 'IDE Integration' über eine PlugIn dll schwierig vor!
    So wie ich das verstanden habe benötigst du AutoIt um z.B. auf Button´s und so zuzugreifen, dafür bringt AutoIt auch direkt ein Tool mit (Au3Info.exe) um die Controls und deren ID´s auslesen zu können. Diese benötigst du um gezielte Klicks und Mausbewegungen sowie Eingaben machen zu können. Dann brauchste nimmer mit Coordinaten Arbeiten :)
    Nochmals 'verbinden' ...du könntest mit AutoIt sämtliche Tools Steuern/Ansprechen aber eher selten über ein Tool auf die AutoIt Fähigkeiten zugreifen können. Das mußt du dir dann schon selber Coden ;)

    Grüsse!

    Moin,

    jo, sowqas klingt auf jeden Fall gut. Das werd ich auf jeden Fall benutzen, ist so echt viel einfacher und sicherer! :)

    Ach ich hab noch eine Frage:
    Manche Funktionen sind bei AutoIt ja 'lila' und manche sind 'blau'.
    Wo liegt da der Unterschied?

    Gruß

  • Du hast wahrscheinlich die neue Farbgebung. Das eine sind AutoIt-eigene Funktionen und das andere UDF's von verschiedenen Usern.

  • Weiß einer eine Funktion zur Farberkennung von Schriften, oder ob ein bestimmter Text auf der Oberfläche angezeigt wird.
    Brauche einen vergleichbaren Ersatz für dei asserts in JUnit (bspw)

    Gruß zobi