Lesen und beachten Sie die Automation Anywhere-Dokumentation

Automation 360

Inhalt schließen

Inhalte

Inhalt öffnen

Erstellen einer neuen Java-Klasse

  • Aktualisiert: 2022/05/19
    • Automation 360 v.x
    • Erkunden
    • RPA Workspace

Erstellen einer neuen Java-Klasse

Verwenden Sie IntelliJ, um eine neue Java-Klasse und ein neues Verzeichnis zu erstellen und andere Build-Dateien zu konfigurieren.

Vorbereitungen

Führen Sie die Schritte der folgenden Aufgabe aus: Konfigurieren von Build-Dateien.

Prozedur

  1. Erstellen Sie eine neue Java-Klasseklicken Sie mit der rechten Maustaste auf die com.automationanywhere.botcommand Paket, und wählen Sie Neu > Java-Klasse. Geben Sie den Namen für die neue Klasse ein GetFileDetails.
    1. Kopieren @BotCommand aus der Datei Verkettung. java und fügen Sie ihn in die neue GetFileDetails.java Datei ein.
      import static com.automationanywhere.commandsdk.model.DataType.STRING;
      //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 = "concatenate", label = "[[Concatenate.label]]", 
      		node_label = "[[Concatenate.node_label]]", description = "[[Concatenate.description]]", icon = "pkg.svg", 
      		
      		//Return type information. return_type ensures only the right kind of variable is provided on the UI. 
      		return_label = "[[Concatenate.return_label]]", return_type = STRING, return_required = true)
      public class Concatenate {
      	
      	//Messages read from full qualified property file name and provide i18n capability.
      	private static final Messages MESSAGES = MessagesFactory
      			.getMessages("com.automationanywhere.botcommand.samples.messages");
      
      	//Identify the entry point for the action. Returns a Value<String> because the return type is String. 
      	@Execute
      	public Value<String> action(
      			//Idx 1 would be displayed first, with a text box for entering the value.
      			@Idx(index = "1", type = TEXT) 
      			//UI labels.
      			@Pkg(label = "[[Concatenate.firstString.label]]") 
      			//Ensure that a validation error is thrown when the value is null.
      			@NotEmpty 
      			String firstString,
      			
      			@Idx(index = "2", type = TEXT) 
      			@Pkg(label = "[[Concatenate.secondString.label]]") 
      			@NotEmpty 
      			String secondString) {
      		
      		//Internal validation, to disallow empty strings. No null check needed as we have NotEmpty on firstString.
      		if ("".equals(firstString.trim()))
      			throw new BotCommandException(MESSAGES.getString("emptyInputString", "firstString"));
      
      		if ("".equals(secondString.trim()))
      			throw new BotCommandException(MESSAGES.getString("emptyInputString", "secondString"));
      
      		//Business logic
      		String result = firstString + secondString;
      		
      		//Return StringValue.
      		return new StringValue(result);
    2. Aktualisieren Sie die @CommandPkg Parameter wie zum Beispiel: Name, Etikett, node_label, Beschreibungund Symbol.
    3. Aktualisieren Sie die return_label und die rückgabe_typ.
    4. Hinzufügen der NumberValue Aktion, die interne Validierung, die Geschäftslogik und den Rückgabewert hinzu.
    5. Löschen Sie die Verkettete. java Datei und samples.commands. basic und das Verzeichnis beispiel.befehle Verzeichnis.
  2. Konfigurieren Sie die en_US.json Datei: Gehen Sie zu src > main > Ressourcen > Sprachumgebungen > en_US.json und fügen Sie die folgenden Felder nach den Werten für label und description hinzu, und löschen Sie die anderen Parameter aus der Datei.
    {
    	"label": "File Details",
    	"description": "Returns basic file details",
    	"GetFileDetails.label": "File Size",
    	"GetFileDetails.description": "Return the size of the selected file in bytes",
    	"GetFileDetails.node_label": "File Size in Bytes",
    	"GetFileDetails.return_label": "File Size",
    	"GetFileDetails.return_label_description": "Return in bytes",
    	"GetFileDetails.filePath.label": "Select a File for analysis"
    }
  3. Pakete löschen: Gehen Sie zu src > main > java > com.automationanyhwere.botcommandund löschen Sie die samples.commands und löschen Sie die Beispiele Pakete.
  4. Importieren Sie neue Icons von Github und aktualisieren Sie die CommandPkg Anmerkung.
    1. Laden Sie alle Icons herunter, die Sie in Ihrem Bot-Flow verwenden möchten, und speichern Sie sie als .svg Dateien.
    2. Kopieren Sie Ihre Bilddateien in das Verzeichnis src > Hauptverzeichnis > Ressourcen > Ikonen Ordner.
  5. Erstellen Sie ein neues Verzeichnis: Gehen Sie zu src, klicken Sie mit der rechten Maustaste, und wählen Sie Neu > Verzeichnis.
    1. Im Name Feld geben Sie test\java. Wählen Sie alternativ das test\javaaus, und geben Sie den Namen TestFileSize.
    2. Konfigurieren Sie Testanmerkungen in der TestFileSize java-Klasse.
    3. Erstellen einer @test öffentliche Klasse, erstellen Sie eine GetFileDetails Objekt, und rufen Sie die Aktion auf.
    4. Optional: Führen Sie den TestGetFileDetails in IntelliJ aus, um es zu testen.
  6. Konfigurieren Sie die TestFileSize Datei und öffnen Sie TestFileSize und kopieren Sie den folgenden Code:
    {
        @Test
        public void TestGetFileDetails() {
            String filePath = "src\\main\\resources\\icons\\sample.svg";
            //Create GetFileDetails Object
            GetFileDetails getFileDetails = new GetFileDetails();
            //invoke action
            NumberValue output = getFileDetails.action(filePath);
            Assert.assertEquals(output.getAsDouble(), 5027.0);
        }
  7. Speichern Sie das Projekt: Datei > Alles speichern.
  8. Klicken Sie auf . Alle Gradle-Projekte neu ladenund klicken Sie dann auf Gradle-Aufgabe ausführenund überprüfen Sie, ob die A2019FileDetails Projekt ausgewählt ist.
  9. Im Alles ausführen Fenster, geben Sie ein gradle clean build shadowJar.
    Nach der Ausführung wird die folgende Meldung angezeigt: BUILD SUCCESSFUL in 8s <Anzahl der Sekunden>

Nächste Maßnahme

Laden Sie das benutzerdefinierte Paket auf Ihr Control Room
Feedback senden