Leggi e rivedi la documentazione di Automation Anywhere

Automation Anywhre Automation 360

Chiudi contenuti

Contenuti

Apri contenuti

Creare e creare un pacchetto personalizzato utilizzando IntelliJ

  • Aggiornato: 9/16/2020
    • Automation 360 v.x
    • Crea
    • Spazio di lavoro RPA

Creare e creare un pacchetto personalizzato utilizzando IntelliJ

Utilizza IntelliJ per compilare un file JAR che puoi caricare come pacchetto Sala di controllo in in Automation 360.

Prerequisiti

È necessaria una conoscenza di base di JDK e Java IntelliJ per creare un pacchetto di operazioni. Sono necessari i seguenti software e file:

  • Download del kit di sviluppo Java SE 11
  • Edizione di IntelliJ per Java IDE Community
  • Automation Anywhre A2019 SDK. Scarica ed estrai i file zip per il rilascio richiesto: Note di rilascio del kit di sviluppo pacchetti Enterprise A2019

Procedura

  1. Decomprimere i contenuti del pacchetto SDK nella directory IdeaProjects e rinominare la cartella da A2019.10-package-sdk-1.0.0 a MetricToImperial.
    Per impostazione predefinita, il pacchetto si trova in: C:\\Utenti\\<User>\\ProgettiIdea.
  2. In IntelliJ IDEA, andare su File > Apri e aprire il progetto in <User>C:\\Users\\\\IdeaProjects\\MetricToImperial.
  3. Aprire il file settings.gradle nella root del progetto. Impostare il rootProject.name = 'MetricToImperial'
  4. Aggiornare il file package.template che si trova in src > main > resources > package.template.
  5. Modifica il nome del pacchetto da A2019DemoPackage a MetricToImperial.
  6. Aggiorna il nome del pacchetto nelle impostazioni internazionali json: vai a src > main > resources > locals > en_US.json.
    1. Aprire il file en_US.json e aggiornare il campo etichetta richiesto. Aggiornare la descrizione facoltativa.
      Originale it_US.json Aggiornato it_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. Eliminare tutte le altre righe rimanenti nel file en_US.json.
  7. Creare una nuova classe Java, fare clic con il pulsante destro del mouse sul pacchetto metrictoimperial.commands e selezionare New > Java Class. Inserire il nome della nuova classe CMtoINCH:
    1. Aprire la classe CMtoINCH. Copiare e incollare il codice seguente sopra l'istruzione di definizione della 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. All'interno della classe CMtoINCH, copiare e incollare il seguente codice:
    //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);
    Il codice importa automaticamente gli spazi dei nomi in base alle annotazioni e ai tipi di dati.

    Per importare manualmente gli spazi dei nomi, selezionare una riga evidenziata e premere contemporaneamente questi tasti alt e Invio.

  8. Vai a src > main > resources > localis > en_US.json e aggiungi i seguenti campi dopo i valori di etichetta e descrizione:
    "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. Vai a src > main > java > com.automationanyhwere.botcommand ed elimina il pacchetto samples.commands. Inoltre, eliminare il pacchetto di campioni.
  10. Aggiornare l'annotazione CommandPkg.
    1. Scaricare ruler_icon.svg da github e fare clic con il pulsante destro del mouse sull'immagine e salvarla come ruler_icon.svg.
    2. Scarica iconwhite.svg da github, fai clic con il pulsante destro del mouse sull'immagine e salva l'immagine iconwhite.svg.
    3. Copiare entrambi i file nella cartella src > > mainresources > icons.
  11. Aprire il file build.gradle nella root del progetto. Dopo la sezione delle dipendenze, ma prima dell'ultimo tag di chiusura, copia e incolla il codice seguente:
    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. Nell'explorer del progetto, fare clic con il pulsante destro del mouse su src e selezionare > NewDirectory.
    1. Nel campo Nome, immettere test\\java o selezionare il suggerimento test\\java dai set di origini Gradle.
    2. Fare clic con il pulsante destro del mouse sulla directory java e selezionare Nuovo > pacchetto.
    3. Immettere il nome del pacchetto appena creato: com.automationanywhere.botcommand.metrictoimperial.commands.
    4. Fare clic con il pulsante destro del mouse sul nuovo pacchetto e selezionare Nuova > classe Java. Immettere il nome per la nuova classe CMtoINCHTest.
  13. All'interno della classe CMtoINCHTest, copiare e incollare il codice seguente:
    @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. Salva il progetto Salva > tutto.
  15. Crea il pacchetto.
    Puoi utilizzare l'interfaccia utente IntelliJ o la riga di comando. Se si utilizza la riga di comando:
    1. Aprire una finestra del terminale e accedere alla directory MetricToImperial e immettere: cd "%USERPROFILE%\\IdeaProjects\\MetricToImperial"
    2. Per compilare il progetto, immettere il comando seguente: gradlew.bat clean build shadowJar
    Viene visualizzato il messaggio BUILD SUCCESSFUL.

    A volte una compilazione potrebbe non riuscire perché i file esistenti non possono essere eliminati automaticamente e viene visualizzato un messaggio di sistema che indica che l'esecuzione non è riuscita per l'attività: clean. In questo caso, chiudere le finestre di Explorer ed eseguire nuovamente la compilazione.

Fasi successive

Aggiungi un pacchetto personalizzato al tuo Sala di controllo
Invia feedback