Lire et examiner la documentation Automation Anywhere

Automation Anywhere Automation 360

Fermer les contenus

Contenus

Ouvrir les contenus

Créez et construisez un package personnalisé à l’aide d’IntelliJ

  • Mis à jour le : 9/16/2020
    • Automation 360 v.x
    • Création
    • Espace de travail RPA

Créez et construisez un package personnalisé à l’aide d’IntelliJ

Utilisez IntelliJ pour compiler un fichier JAR que vous pouvez charger en tant que package dans votre Salle de contrôle dans Automation 360.

Prérequis

Une connaissance de base de JDK et Java IntelliJ est nécessaire pour créer un package d’actions. Vous avez besoin des logiciels et fichiers suivants :

Procédure

  1. Décompressez le contenu du package SDK dans votre répertoire IdeaProjects et renommez le dossier A2019.10-package-sdk-1.0.0 en MetricToImperial.
    Par défaut, le package se trouve dans : C:\Users\<User>\IdeaProjects.
  2. Dans IntelliJ IDEA, allez dans Fichier > Ouvrir et ouvrez le projet sous C:\Users\<User>\IdeaProjects\MetricToImperial.
  3. À partir du projet, ouvrez le fichier settings.gradle. Définissez le rootProject.name = 'MetricToImperial'
  4. Mettez à jour le fichier package.template situé dans src > main > resources > package.template.
  5. Remplacez le nom du package A2019DemoPackage par MetricToImperial.
  6. Mettez à jour le nom du package dans locales json : accédez à src > main > resources > locale > en_US.json.
    1. Ouvrez le fichier en_US.json et mettez à jour le champ étiquette requis. Mettez à jour la description facultative.
      Origine en_US.json Mise à jour en_US.json
      {
        "label" : "A2019DemoPackage",
        "description" : "Provides actions for A2019DemoPackage operations."
        }
      {
        "label" : "Metric To Imperial",
        "description" : "Converts lengths and distances from Metric format to Imperial format"
      }
    2. Supprimez toutes les autres lignes du fichier en_US.json.
  7. Créez une nouvelle classe Java, cliquez avec le bouton droit sur le package metrictoimperial.commands et sélectionnez Nouvelle > classe Java. Entrez le nom de la nouvelle classe CMtoINCH :
    1. Ouvrez la classe CMtoINCH. Copiez et collez le code suivant au-dessus de l’instruction de définition de classe :
      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. Dans la classe CMtoINCH, copiez et collez le code suivant :
    //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);
    Le code importe automatiquement les espaces de noms en fonction des annotations et des types de données.

    Pour importer manuellement des espaces de noms, sélectionnez une ligne en surbrillance et appuyez simultanément sur ces touches : alt et la touche Entrée.

  8. Accédez à src > main > resources > locales > en_US.json et ajoutez les champs suivants après les valeurs d’étiquette et de description :
    "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. Accédez à src > main > java > com.automationanyhwere.botcommand, et supprimez le package samples.commands. De plus, supprimez le package échantillons.
  10. Mettez à jour l’annotation CommandPkg.
    1. Téléchargez ruler_icon.svg à partir de github et cliquez avec le bouton droit sur l’image et enregistrez l’image sous ruler_icon.svg.
    2. Téléchargez iconwhite.svg à partir de github, cliquez avec le bouton droit sur l’image et enregistrez l’image iconwhite.svg.
    3. Copiez les deux fichiers dans le dossier des icônes > des ressources > principales > src.
  11. Ouvrez build.gradle dans la racine du projet. Après la section des dépendances, mais avant la dernière balise de fermeture, copiez et collez le code suivant :
    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. Dans l’explorateur de projets, cliquez avec le bouton droit sur src et sélectionnez Nouveau > Répertoire.
    1. Dans le champ Nom, entrez test\java, ou sélectionnez la suggestion test\java dans les ensembles de sources de support.
    2. Cliquez avec le bouton droit sur le répertoire Java et sélectionnez Nouveau > Package.
    3. Entrez le nom du package nouvellement créé : com.automationanywhere.botcommand.metrictoimperial.commands.
    4. Cliquez avec le bouton droit sur le nouveau package et sélectionnez Nouvelle > classe Java. Entrez le nom de la nouvelle classe CMtoINCHTest.
  13. Dans la classe CMtoINCHTest, copiez et collez le code suivant :
    @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. Enregistrer le projet Fichier > Enregistrer tout.
  15. Créez le package.
    Vous pouvez utiliser l’interface utilisateur IntelliJ ou la ligne de commande. Si vous utilisez la ligne de commande :
    1. Ouvrez une fenêtre de terminal et accédez au répertoire MetricToImperial et entrez : cd "%USERPROFILE%\IdeaProjects\MetricToImperial"
    2. Pour générer le projet, entrez la commande suivante : gradlew.bat clean build shadowJar
    Un message CRÉÉ AVEC SUCCÈS apparaît.

    Une création peut parfois échouer parce que les fichiers existants n’ont pas pu être supprimés automatiquement et un message système apparaît indiquant que l’exécution a échoué pour la tâche : nettoyer. Si cela se produit, fermez les fenêtres de l’explorateur et exécutez à nouveau la création.

Étapes suivantes

Ajoutez un package personnalisé à votre Salle de contrôle
Envoyer le commentaire