Lesen und beachten Sie die Automation Anywhere-Dokumentation

Automation Anywhere Automation 360

Inhalt schließen

Inhalte

Inhalt öffnen

Erstellen und erstellen Sie ein benutzerdefiniertes Paket mit IntelliJ

  • Aktualisiert: 4/05/2021
    • Automation 360 v.x
    • Erstellen
    • RPA Workspace

Erstellen und erstellen Sie ein benutzerdefiniertes Paket mit IntelliJ

Verwenden Sie Java IntelliJ, um eine JAR-Datei zu kompilieren, die Sie als Paket auf Ihr Control Room in Automation 360hochladen können.

Vorbereitungen

Zum Erstellen eines Aktionspakets ist ein grundlegendes Verständnis von JDK und Java IntelliJ erforderlich. Stellen Sie die folgende Software und die folgenden Dateien sicher:

Prozedur

  1. Entpacken Sie den Inhalt des SDK-Pakets in Ihr IdeaProjects -Verzeichnis und benennen Sie den Ordner von A2019-package-sdk-<Versionsnummer> in MetricToImperial um.
    Standardmäßig befindet sich das Paket unter: C:\Benutzer\<Benutzer>\IdeaProjects.
  2. Gehen Sie in IntelliJ IDEA zu Datei > Öffnen und öffnen Sie das Projekt unter C:\Benutzer\<Benutzer>\IdeaProjects\MetricToImperial.
  3. Öffnen Sie die Datei settings.gradle im Projektstamm. Stellen Sie rootProject.name = „MetricToImperial“ ein.
  4. Aktualisieren Sie die Datei package.template unter src > main > Resources > package.template.
  5. Ändern Sie den Paketnamen von A2019DemoPackage in MetricToImperial.
  6. Aktualisieren Sie den Paketnamen in locales json: gehen Sie zu src > main > Resources > locales > en_US.json.
    1. Öffnen Sie die Datei en_US.json und aktualisieren Sie das erforderliche Beschriftungsfeld von A2019DemoPackage auf MetricToImperial. Aktualisieren Sie die optionale Beschreibung.
    2. Löschen Sie alle anderen verbleibenden Zeilen in der Datei en_US.json .
  7. Erstellen Sie eine neue Java-Klasse, klicken Sie mit der rechten Maustaste auf das Paket metrictoimperial.commands , und wählen Sie Neue > Java-Klasse. Geben Sie den Namen für die neue Klasse CMtoINCH ein:
    1. Öffnen Sie die CMtoINCH-Klasse . Kopieren Sie den folgenden Code und fügen Sie ihn über der Klassendefinitionsanweisung ein:
      import static com.automationanywhere.commandsdk.model.DataType.NUMBER;
      //BotCommand makes a class eligible for being considered as an action.
      @BotCommand
      //CommandPks adds required information to be dispalable on GUI.
      @CommandPkg(
              //Unique name inside a package and label to display.
              name = "CM to Inch", label = "[[CMtoINCH.label]]",
              node_label = "[[CMtoINCH.node_label]]",  description = "[[CMtoINCH.description]]", icon = "ruler_icon.svg",
              //Return type information. return_type ensures only the right kind of variable is provided on the UI.
              return_label = "[[CMtoINCH.return_label]]", return_type = NUMBER, return_required = true)
    2. Kopieren Sie in der Klasse CMtoINCH den folgenden Code, und fügen Sie ihn ein:
    //Identify the entry point for the action. Returns a Value<String> because the return type is String.
    @Execute
    public NumberValue action(
            //Idx 1 would be displayed first, with a text box for entering the value.
            @Idx(index = "1", type = AttributeType.NUMBER)
            //UI labels.
            @Pkg(label = "[[CMtoINCH.CMInput.label]]")
            //Ensure that a validation error is thrown when the value is null.
            @NotEmpty
                    Double CMInput) {
        //Internal validation, to disallow empty inputs. No null check needed as we have NotEmpty on CMInput.
        if ("".equals(CMInput.toString().trim()))
            throw new BotCommandException("Input of CM is required");
        Number result;
        try {
            //Conversion logic
            result = CMInput * 0.393701;
        } catch (Exception e) {
            //Throw custom error message
            throw new BotCommandException("Unable to convert " + CMInput.toString() + "cm to inches");
        }
        //Return NumberValue.
        return new NumberValue(result);
    Der Code importiert automatisch Namespaces basierend auf den Anmerkungen und Datentypen.

    Um Namespaces manuell zu importieren, wählen Sie eine markierte Zeile aus, und drücken Sie diese Tasten gleichzeitig alt und die Eingabetaste.

  8. Konfigurieren Sie die Datei en_US.json , gehen Sie zu src > main > Resources > locales > en_US.json und fügen Sie die folgenden Felder nach den Beschriftungs- und Beschreibungswerten hinzu:
    "CMtoINCH.label" : "cm to inches",
    "CMtoINCH.node_label": "cm to inches",
    "CMtoINCH.description" : "Convert centimeters to inches",
    "CMtoINCH.return_label" : "Assign the Output in Inches to a Number Variable",
    "CMtoINCH.CMInput.label" : "Centimeters to Convert to Inches"
  9. Löschen Sie die Beispielpakete, gehen Sie zu src > main > java > com.automationanyhwere.botcommandund löschen Sie die samples.commands und löschen Sie die Beispielpakete .
  10. Aktualisieren Sie die CommandPkg-Beschriftung . Lade dir Symbole von Github herunter.
    1. Laden Sie Lineal _icon.svg aus Github herunter und klicken Sie mit der rechten Maustaste auf das Bild und speichern Sie das Bild als Lineal_icon.svg.
    2. Laden Sie iconwhite .svg von Githubherunter, klicken Sie mit der rechten Maustaste auf das Bild und speichern Sie das Bild iconwhite.svg.
    3. Kopieren Sie beide Dateien in den > > > Ordner „src main Resources Icons“.
  11. Öffnen Sie die Datei build.gradle im Projektstamm. Kopieren Sie nach dem Abschnitt „Abhängigkeiten“, aber vor dem letzten schließenden Tag den folgenden Code und fügen Sie ihn ein:
    test {
       testLogging {
          exceptionFormat = 'full'
       }
       useTestNG() {}
    
       afterSuite { desc, result ->
          if (!desc.parent)
             println("${result.resultType} " +
                   "(${result.testCount} tests, " +
                   "${result.successfulTestCount} successes, " +
                   "${result.failedTestCount} failures, " +
                   "${result.skippedTestCount} skipped)")
       }
       maxHeapSize "3g"
    }
  12. Erstellen Sie ein neues Verzeichnis, klicken Sie mit der rechten Maustaste auf src und wählen Sie Neues > Verzeichnis.
    1. Geben Sie im Feld Name Test \javaein, oder wählen Sie den Vorschlag Test\java aus den Gradle-Quellensätzenaus.
    2. Erstellen Sie ein neues Paket, klicken Sie mit der rechten Maustaste auf das java -Verzeichnis und wählen Sie Neues > Paket.
    3. Geben Sie den Namen für das neu erstellte Paket ein: com.automationanywhere.botcommand.metrictoimperial.commands.
  13. Erstellen Sie eine neue Java-Klasse, klicken Sie mit der rechten Maustaste und wählen Sie Neue > Java-Klasse. Geben Sie den Namen für die neue Klasse CMtoINCHTestein.
    Kopieren Sie in der Klasse CMtoINCHTest den folgenden Code und fügen Sie ihn ein:
    @Test
    public void testCMtoINCH(){
        Double validInput = 10.00;
        Double expectedOutput = 0.393701 * validInput;
        CMtoINCH testCM = new CMtoINCH();
        Value<Double> result = testCM.action(validInput);
        Assert.assertEquals(result.get(), expectedOutput);
    }
  14. Speichern Sie die Projektdatei > Alle speichern.
  15. Erstellen Sie das Paket.
    Sie können die IntelliJ-Benutzeroberfläche oder die Befehlszeile verwenden. Wenn Sie die Befehlszeile verwenden:
    1. Öffnen Sie ein Terminalfenster, navigieren Sie zum Verzeichnis MetricToImperial und geben Sie Folgendes ein: cd „%USERPROFILE%\IdeaProjects\MetricToImperial“
    2. Um das Projekt zu erstellen, geben Sie den folgenden Befehl ein: gradlew.bat Clean build shadowJar
    Die Meldung BUILD SUCCESSFUL wird angezeigt.

    Manchmal kann ein Build fehlschlagen, weil vorhandene Dateien nicht automatisch gelöscht werden konnten und eine Systemmeldung angezeigt wird, die anzeigt, dass die Ausführung für die Task: Cleanfehlgeschlagen ist. Schließen Sie in diesem Fall die Explorer-Fenster, und führen Sie den Build erneut aus.

Nächste Maßnahme

Fügen Sie Ihrem ein benutzerdefiniertes Paket hinzu Control Room
Feedback senden