Automation Anywhere

Automation Anywhere Automation 360

關閉內容

內容

開啟內容

創建新的 Java 類和目錄,並使用 IntelliJ 更新文件

  • 已更新:4/09/2021
    • Automation 360 v.x
    • 探索
    • RPA 工作區

創建新的 Java 類和目錄,並使用 IntelliJ 更新文件

使用 IntelliJ 創建新的 Java 類和新目錄,並配置其他生成文件。

先決條件

完成以下任務中的步驟:使用 InteliJ 配置構建文件

程序

  1. 創建新 的 Java 類,右鍵單擊 com.automationanywhere.botcommand 包,然後選擇 “新建 > Java 類”。輸入新類 GetFileDetails 的名稱
    1. Concatenate. java 中複製 @BotCommand ,然後將其粘貼到新 的 GetFileDetails.java 文件中。
      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. 更新 @CommandPkgs 參數, 例如 : namelabelnode_labeldescriptionicon
    3. 更新 return_labelreturn_type
    4. 添加 NumberValue 操作、內部驗證、業務邏輯、 和返回值。
    5. 刪除 連接的 Java 文件和 samples.commands 。基本 目錄和 sample.commands 目錄。
  2. 配置 en_US.json 文件:轉至 src > > 資源 > 區域 en_US.json > ,並在標籤和說明值後添加以下字段,然後從文件中刪除其他參數。
    {
    	"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. 刪除軟件包:轉至 src > main > Java > com.automationanyhwere.botcommand,然後刪除 samples.commands 並刪除 樣例 軟件包。
  4. 從 Github 導入新圖標並更新 CommandPkg 註釋。
    1. 下載您要在機器人程式流程中使用的任何圖示、並將其儲存為 .SVG 檔案。
    2. 將圖像文件複製到 src > > 資源 > 圖標 文件夾中。
  5. 創建新目錄:轉到 src,右鍵單擊,然後選擇 新建 > 目錄
    1. 在“名稱”字段中,輸入 test\java。或者,選擇 test\java,然後輸入名稱 TestFileSize
    2. TestFileSize Java 類中配置測試註釋。
    3. 創建 @test 公共類,創建 GetFileDetails 對象,然後調用該操作。
    4. 選擇性的: 執行 IntelliJ 中的 TestGetFileDetails 以進行測試。
  6. 配置 TestFileSize 文件,然後打開 TestFileSize 並複製和粘貼以下代碼:
    {
        @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. 保存項目:文件 > 保存全部
  8. 單擊 “重新加載所有 Grad度 項目 ”,然後單擊“執行任務”,並驗證 是否 選擇了 A2019FileDetails 項目。
  9. 在“運行任何內容”窗口中,輸入 gradele clean build shadowJar
    運行後,將顯示以下消息:在 8 秒 內構建成功

後續步驟

將自訂套件上傳至 Control Room
傳送意見反饋