Eine kurze Analyse der Verwendung von RobotFramework-Tools | JD Logistics Technology Team

1. Einleitung

In den letzten Jahren haben immer mehr Unternehmen damit begonnen, automatisierte Tests zu entwerfen und zu entwickeln. Automatisierung ist, wie der Name schon sagt, ein Prozess, der vom Menschen gesteuertes Testverhalten in maschinelle Ausführung umwandelt und häufig bei Regressionstests eingesetzt wird. Auf dem Markt Es gibt auch viele automatisierte Open-Source-Testtools und theoretisches Wissen. Heute möchte ich über RobotFramework sprechen.

Ich bin auch zufällig mit dem RobotFramework-Tool in Kontakt gekommen und fand die Form sehr neuartig, was mich sofort anzog. RobotFramework ist ein in Python geschriebenes Framework für funktionale Automatisierungstests. Es verfügt über eine gute Skalierbarkeit, unterstützt Keyword-Drive, kann mehrere Arten von Clients oder Schnittstellen gleichzeitig testen und kann eine verteilte Testausführung durchführen. Kommen wir zur Sache!

2 Werkzeuganalyse

1. Nachdem wir das Tool installiert haben, sehen wir ein kleines Symbol auf unserem Desktop. Wir werden uns beim Schreiben von Anwendungsfällen in Zukunft darauf verlassen (jeder interessierte Freund kann privat mit mir über den Installationsprozess chatten, daher werde ich nicht hingehen im Detail hier) ):

2. Wenn wir auf dieses Symbol doppelklicken, gelangen wir in eine „angenehme“ Bearbeitungsoberfläche;

  • Im Projektbearbeitungsbereich werden die von uns erstellten Projekte, Anwendungsfälle und Schlüsselwortressourcen angezeigt. Die Schlüsselwörter hier können unseren zukünftigen Anwendungsfällen viel Komfort bieten und eignen sich zum Schreiben allgemeiner Logik, auf die wir beim Schreiben bequem stoßen können Anwendungsfälle. Die gleiche Logik wird zum Aufrufen verwendet.
  • Anwendungsfälle können über den Skriptbearbeitungsbereich und den Tabellenbearbeitungsbereich geschrieben werden;
    • Wenn die Maus auf einem bestimmten Fall positioniert wird, wird der Tabellenbearbeitungsbereich angezeigt: Genau wie der Skriptbearbeitungsbereich wird einer durch das Schreiben von Skripten und der andere durch das Schreiben von Excel-Tabellen realisiert; -

    • Skriptbearbeitungsbereich: Ob durch Tabellenbearbeitung oder Skriptbearbeitung, das entsprechende Skript wird im Skriptbearbeitungsbereich generiert.

  • Wenn die Maus auf dem Projekt positioniert ist, werden auf der rechten Seite die Fall- und Ressourcendateien angezeigt, die wir zum Schreiben der Anwendungsfälle verwendet haben.
  • Der Anwendungsfall-Ausführungsbereich wird auf der rechten Seite des Abschnitts „Ausführen“ angezeigt. Über diesen Abschnitt können wir unsere Anwendungsfälle ausführen und generierte Berichte, Protokolle usw. anzeigen;

3. Tool-anwendbare Szenarien:
Persönlich denke ich, dass es besser für Szenarien zum Testen der Schnittstellenautomatisierung geeignet ist.

4. Tools unterstützen die Integration der Jenkins-Plattform.
Jenkins ist ein sehr leistungsstarkes Open-Source-Projekt für kontinuierliche Integration und kontinuierliche Bereitstellung. Es kann nahezu jede Art von automatischem Build oder kontinuierlicher Integration verarbeiten und muss daher für die automatisierte Testbereitstellung mit RF kombiniert werden können und Planung. Die spezifischen Implementierungsschritte sind ungefähr wie folgt:

  • Jenkins herunterladen
  • Knoten hinzufügen
  • Installieren Sie das RF-Plug-in
  • Job zum Ausführen von Tests konfigurieren

Hinweis: Diese Weitergabe spezifischer Praktiken wird noch nicht durchgeführt;

Vor- und Nachteile-Analyse

Vorteil:

  • Der automatisierte Testprozess wird durch die Verwendung des Keyword Driven Testing (KDT)-Ansatzes vereinfacht, wodurch es für Tester einfacher wird, leicht lesbare Tests zu erstellen.
  • Die Testdatensyntax ist einfach und benutzerfreundlich.
  • Das Ökosystem ist reich. Besteht aus verschiedenen allgemeinen Testbibliotheken und Tools, die als unabhängige Projekte entwickelt wurden.
  • Hoch skalierbar.

Nachteile:

  • Unterstützt nur Python2. Version;
  • Die Schnittstelle reagiert langsam und friert oft ein;
  • Beim Importieren von Testbibliotheken treten manchmal Ausnahmen auf.

3 Stichworteinführung

1. Während des Schreibens des Falles wurden einige Schlüsselwörter aussortiert. In Bezug auf Variablen lauten die Details wie folgt:

  • Suite-Variable festlegen Mit diesem Schlüsselwort festgelegte Variablen sind überall im Bereich der aktuell ausgeführten Testsuite verfügbar
  • Legen Sie den Verwendungsbereich der globalen Variablen fest: Mit diesem Schlüsselwort definierte Variablen können in allen Testsuiten verwendet werden.
  • Verwendungsbereich der Testvariablen festlegen: Mit diesem Schlüsselwort festgelegte Variablen sind überall im Bereich des aktuell ausgeführten Testfalls verfügbar
  • Variablenverwendungsbereich festlegen: Dieses Schlüsselwort wird hauptsächlich zum Festlegen skalarer Variablen verwendet. Darüber hinaus kann es verwendet werden, um eine Skalarvariable, die eine Liste enthält, in eine Listenvariable oder mehrere Skalarvariablen umzuwandeln. Es wird empfohlen, beim Erstellen einer neuen Liste die Option „Liste erstellen“ zu verwenden. Mit diesem Schlüsselwort erstellte Variablen sind nur in dem Bereich verfügbar, in dem sie erstellt wurden

2. Zusammenfassung der Excellbrary-Methode:

  • Excel öffnen Excel-Datei öffnen
  • Zeilenanzahl abrufen Ruft die Anzahl der Zeilen ab
  • Spaltenanzahl abrufen Ruft die Anzahl der Spalten ab
  • Zeilenwerte abrufen Rufen Sie die Werte einer bestimmten Zeile ab
  • Spaltenwerte abrufen Rufen Sie den Wert einer bestimmten Spalte ab
  • Zellendaten nach Koordinaten lesen. Wert nach Spaltenzeilennummer abrufen
  • Zelldaten nach Namen lesen Zelldaten nach Namen lesen

3.Führen Sie Keyword If aus

  • Funktionserklärung: Wenn die angegebene Beurteilungsbedingung erfüllt ist, wird das angegebene Schlüsselwort ausgeführt.
  • Beispiel für eine Funktionsstruktur:
    • Führen Sie Schlüsselwörter aus, wenn andere Schlüsselwörter zum Ermitteln von Bedingungen erforderlich sind
    • … ELSE IF andere Schlüsselwörter für Beurteilungsbedingungen
    • … ELSE andere Schlüsselwörter zur Beurteilung von Bedingungen

4.Strip String entfernt führende und nachfolgende Leerzeichen.
5.Remove String löscht die angegebene Zeichenfolge

6. Über die Zeit
${time} aktuelles Datum abrufen # Aktuelle Uhrzeit abrufen
${time_stamp} Datum konvertieren ${time} Epoche #In ursprünglichen Zeitstempel konvertieren
${time_stamp2}value int(round(${time_stamp}*1000)) # In Millisekunden-Zeitstempel umwandeln

4 Case-Sharing

Basierend auf unseren bisherigen Erfahrungen lässt sich das Schreiben von Anwendungsfällen vereinfacht gesagt grob in mehrere Schritte unterteilen:

  • Erstellen Sie ein Projekt;
  • Fügen Sie den Fall hinzu, den wir im Rahmen dieses Projekts implementieren möchten.
  • Verwirklichen Sie diesen Fall und fügen Sie die Seele des Falls hinzu;
  • Führen Sie diesen Fall aus;
  • Fallergebnisse anzeigen;

Gut! Versuchen wir also, einen Anwendungsfall basierend auf den oben genannten Ideen zu schreiben! Hier nehme ich die Lagerauftragsschnittstelle unseres häufig verwendeten, relativ einfachen internationalen Supply-Chain-Fulfillment-Planungssystems als Beispiel:

1) Zuerst erstellen wir ein Projekt: Unter Datei -> Neues Projekt erscheint ein Popup-Fenster. Wir können es nach unseren eigenen Vorlieben starten. Was wir hier erstellen, ist die Speicherreihenfolge. Nennen wir es „testIn“ für vorerst. Vergessen Sie nicht. Das Wichtigste ist, dass wir Verzeichnis als Typ auswählen müssen.

Auf diese Weise entsteht unser Projekt;

2) Fall erstellen:

In Robot müssen wir zunächst eine testSuite erstellen, da in Robot die Fälle alle unter der Suite hängen. Klicken Sie mit der rechten Maustaste auf das Projekt -> Neue Suite. Hier müssen Sie einen Namen der Suite eingeben. Hier nennen wir ihn „test_Instock“. ";

Nachdem die Suite erstellt wurde, können wir einen Fall unter der Suite erstellen. In test_Instock -> Neuer Testfall können wir den Fallnamen „Instock-Bestellung erfolgreich ausgestellt“ nennen.

3. Ab sofort ist unsere vorläufige Erstellungsarbeit abgeschlossen. Wir müssen mit dem Schreiben der Seele des Falles beginnen. Hier können wir ihn direkt im Formular bearbeiten; der Schreibprozess ist der gleiche wie der Prozess des Schreibens von Anwendungsfällen in Python. Wir benötigen eine Überprüfung der Schnittstelleninformationen, Eingabeparameter und Rückgabeparameter.

Da wir über viele andere ähnliche Schnittstellen verfügen, können wir hier den Teil zum Senden einer Post-Anfrage und den Teil zur Überprüfung der Rückgabeparameter separat in Form von Schlüsselwörtern implementieren: Test Instock -> Neuer Benutzer-Schlüsselwort, erstellen Sie ein Schlüsselwort und nennen Sie es „Beitragsanfrage senden“. ” und „Rückgabeparameter überprüfen“!
Auf diese Weise können wir noch einmal einen Blick darauf werfen. Der Anwendungsfall mit getrennten Schlüsselwörtern hat sich von einer großen Datei in drei kleine Dateien geändert, was es für uns einfacher macht, den Anwendungsfallprozess anzuzeigen:

Fall der Schlüsselwortextraktion:

Schlüsselwortteil „Beitragsanfrage senden“.

Schlüsselwortteil „Rückgabeparameter überprüfen“.

Wenn die Seele unseres Anliegens vollständig erkannt ist, können wir es ausführen und sehen: Wow! Die Ausführung hat einen Fehler gemeldet

Hier können wir den offensichtlichen Fehlerbericht sehen, sodass wir ihn nicht im Bericht überprüfen müssen. Wenn unser Fehlerbericht nicht klar zu sehen ist, müssen wir zum Bericht gehen, um die spezifischen Fehlerinformationen zu überprüfen. Der Bericht markiert die Die Zeile, in der der Fehler gemeldet wird, ist daher praktisch, um das Problem zu lokalisieren. Kehren wir zum Thema zurück. Als wir diesen Fehler sahen, konnten wir den Primärschlüssel zum Abrufen des aktuellen Datums nicht finden. Daher stellen wir diese Bibliothek vor (die spezifische Erklärung). der Einführung der Bibliothek wurde oben bereits erwähnt)

5. Nachdem die Einführung abgeschlossen ist, führen wir sie erneut durch und unser Fall verläuft reibungslos.

6. Das Folgende ist der obige Anwendungsfallinhalt, der im Skripteditor angezeigt wird:

5 Zusammenfassung der Probleme

Beim Schreiben von Fällen werden wir auf viele Probleme der einen oder anderen Art stoßen. Ich habe auch einige zu Ihrer Information zusammengefasst:

1) Beim Senden einer Post-Anfrage wird ein Typkonvertierungsfehler gemeldet:

Insgesamt wurden vier Parameter angefordert und ein Fehler gemeldet. . .

Lösung:
Versuchen Sie zunächst, alle Parameter in ein Wörterbuch einzutragen. Nein! :

Der zweite Versuch bestand darin, die Parameter herauszunehmen und Werte separat zuzuweisen, stellte jedoch fest, dass es nicht funktionierte! ! :

Der dritte Versuch besteht darin, den Wert im String-Format in ${data} zu schreiben und dann ${data} den Daten der Post-Anfrage zuzuweisen, aber es funktioniert nicht! ! :

Der vierte Versuch besteht darin, den Zeichenfolgenwert direkt den Daten der Post-Anfrage zuzuweisen, die Emma übergeben hat:

2. cmd-Eingabe-Pip-Listenfehler:

Lösung: Im Allgemeinen wird die obige Eingabeaufforderung in Version 9.0.X angezeigt und das Ausgabeformat muss definiert werden.

Pip-Liste – Format=Legacy-Fehler existiert nicht mehr

Autor: JD Logistics Kang Yongchao

Quelle: JD Cloud Developer Community Ziyuanqishuo Tech Bitte geben Sie beim Nachdruck die Quelle an

Broadcom kündigt die Beendigung des bestehenden Deepin-IDE-Versionsupdates des VMware-Partnerprogramms an und ersetzt das alte Erscheinungsbild durch ein neues Erscheinungsbild Zhou Hongyi: Der gebürtige Hongmeng wird definitiv erfolgreich sein WAVE SUMMIT begrüßt seine zehnte Sitzung, Wen Xinyiyan wird die neueste Enthüllung haben! Yakult Company bestätigt, dass 95 G-Daten durchgesickert sind Die beliebteste Lizenz unter den Programmiersprachen im Jahr 2023 „2023 China Open Source Developer Report“ offiziell veröffentlicht Julia 1.10 offiziell veröffentlicht Fedora 40 plant die Vereinheitlichung von /usr/bin und /usr/sbin Rust 1.75 .0-Version
{{o.name}}
{{m.name}}

Supongo que te gusta

Origin my.oschina.net/u/4090830/blog/10456189
Recomendado
Clasificación