【UiPath 中文教程】02 - 創建自定義 Activity


在 UiPath Studio 中,活動 (Activity) 是流程自動化的基石,是構成自動化程序的最小模塊。它們被包含在一個個 NuGet 包中。

UiPath Studio 中有 3 類包:

  • 官方提供的包
  • 來自社區的包
  • 自定義的包

UiPath Studio 自帶了大量內置的核心活動,而這些內置活動僅僅包含了一些基本的操作元素。一些常見的操作,如處理 PDF,Mail,Excel 等都沒有包含在核心活動里面。即使這些操作是官方提供的,你仍然需要通過 Manage Activities Packages 來安裝它們才能使用。

你可以在 Package Mananger 中找到大量來自 UiPath 官方和社區的包,點擊 Install 即可使用。

 
Manage Packages

如果所有這些活動還不能滿足你的要求,你還可以創建自定義活動,然后導入到 UiPath Studio 中使用。自定義的活動有兩種形式,你可以編寫繼承自 CodeActivity 或者 NativeActivity 的自定義活動。這兩類活動看起來很相似,但是它們是不一樣的,NativeActivity 更加強大。如果需要了解它們之間的差異,請異步官網文檔。這里以 CodeActivity 為例創建一個簡單的自定義活動。

總的來說,創建自定義活動需要兩個步驟:

  1. 編寫自定義活動的代碼
  2. 在 UiPath 內添加外部程序集(.dll)

從編程角度來看,Activity 其實是一個類。因此,創建自定義活動就需要相應的編程工具。在這里,我們需要使用以下組件來創建自定義活動:

請在實踐之前准備好上述工具。


編寫自定義活動的代碼

為了讓你更好地理解怎么編寫自定義活動的代碼,我們將會創建一個活動,向用戶請求兩個數字,然后輸出其平方的總和。(這個例子來自官方文檔)

請按照一下的步驟新建一個 C# 類庫的項目:

  1. 啟動 Microsoft Visual Studio

  2. 點擊 File > New >Project……(快捷方式:Ctrl + Shift + N)。將會顯示 New Project 窗口

  3. 點擊 Visual C#.將會顯示使用c#的所有項目模板的列表。

  4. (可選),為你的自定義活動填寫合適的名稱到 Name 字段。在這個例子中,我們使用 "MathSquareOfSum" 這個名字

  5. 選擇 Class Library (.NET Framework) 並點擊 OK。這有助於我們將自定義活動導出為.dll文件。

操作步驟的錄屏:


 
新建項目

項目創建好了之后,接着添加相關的依賴

  1. 點擊 Project > Add Reference….

  2. 尋找 System.ActivitiesSystem.ComponentModel.Composition 並勾選它們。

  3. 點擊 OK 按鈕。這使得使用來自 System.ActivitiesSystem.ComponentModel.Composition 的類成為可能。

 
cad03e5-add-references.gif

9.編寫自定義活動的代碼。在我們的例子中,代碼如下:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Activities; using System.ComponentModel; namespace ClassMathCustomActivity { public class SimpleFormula : CodeActivity { [Category("Input")] [RequiredArgument] public InArgument<double> FirstNumber { get; set; } [Category("Input")] public InArgument<double> SecondNumber { get; set; } [Category("Output")] public OutArgument<double> ResultNumber { get; set; } protected override void Execute(CodeActivityContext context) { var firstNumber = FirstNumber.Get(context); var secondNumber = SecondNumber.Get(context); var result = System.Math.Pow(firstNumber + secondNumber, 2); ResultNumber.Set(context, result); } } } 

注意
我們使用 protected override void Execute(CodeactivityContext) 代碼來覆蓋 Execute 方法。

點擊 Build > Build MathSquareOfSum****。將會顯示Output面板,通知您文件已經生成,並顯示它的路徑。在本例中,創建了 MathSquareOfSum.dll 文件。


在 UiPath 中添加外部程序集(.dll)
 
 

在 Uipath 中添加外部程序集之前,首先需要創建 Nuget 包。

  1. 啟動 NuGet Package Explorer.

  2. 點擊 Create a new package (Ctrl + N) 。將顯示一個拆分窗口,它顯示 Package metadataPackage contents

  3. 右擊 Package contents 部分,將會顯示一個上下文菜單

  4. 點擊 Add lib folder。注意到,將在 Package contents 創建一個 lib

 
 
  1. 右擊 lib 並選中 Add Existing File ……
 
 

注意 !

步驟 4,5 非常重要,如果省略這兩步,可以得到 NuGet 包,也可以導入到 UiPath Studio 中,但是無法在 Activities 中找到你定義的 Activities。這個過程中 UiPath 也不會報告任何錯誤。


 
 
  1. 添加上面創建的外部程序集(.dll) 文件。在這個例子中,應該為 MathSquareOfSum.dll.

  2. 點擊 Edit > Edit Metadata。將會顯示 Package metadata 部分。

  3. 填寫 Id, Version, Authors,Description 字段,填寫 id 字段要特別注意,字段中需包含有關鍵詞 Activities。在這個例子中,可以是 ActivitiesCustomMathFunction

 
 

非常重要!

NuGet 包的 id 字段必須包含關鍵詞 Activities 才能顯示在 UiPath Studio 的 Manage Packages 窗口中。這是成功創建自定義 Activity 的要點之一。

  1. 在這個例子中,Id, Version, Authors,Description 是必須的,其它字段都可以不用理會。填寫完成之后,點擊左上角的綠色勾勾。
 
 

10.點擊 File > Save As 將會把文件打包好,然后彈框讓你選擇包的存放文件夾。

  1. 復制上述打包后的文件到 UiPath Studio 安裝位置的 Packages 文件夾中 。包含你自定義 Activity 的 Nuget 包現在已經准備好,可以在 UiPath 中加載了。

非常重要!

官網文檔中關於 NuGet 包的存放位置的描述是錯誤的。正確的應該是 UiPath Studio 安裝位置的 Packages 文件夾中

必須為你的活動創建一個直觀的文件夾結構。在 Orchestrator 中,在自定義活動中所有的空文件夾都會被移除。

在 UiPath Studio中加載 NuGet 包(自定義Activity)

只要將復制上述打包后的 .nupkg 文件到 UiPath Studio 安裝位置的 Packages 文件夾中,重啟 UiPath Studio 就可以在 Package Manager >Available > Local 中找到自定義的包

 
自定義 Activity

活動一旦被創建並打包成 .nupkg 文件之后,在Studio中安裝它與其他活動一模一樣。Package Manager >Available > Local 中找到自定義的包,點擊 Install 按鈕即可。安裝示例如下:

 
e55d3a2-adding-custom-activity-in-studio.gif

安裝成功后,就可以在 Activities 面板中搜到你定義的 Activity 了:

 
自定義Activity

這意味着你可以像使用其它 Activity 一樣愉快地使用自定義的 Activity 了。添加自己的程序模塊到 UiPath 中就好像重新發明了 UiPath,快來試試吧!

注:本文由官方文檔 Creating a Custom Activity 改編而來。文中我指出和修正了官方文檔的一處錯誤,並增加了更多的圖片來降低理解的門檻,在原文基礎上添加了一些省略了的操作步驟。



作者:Creator_蔚藍
鏈接:https://www.jianshu.com/p/f40a04e95359
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM