UiPath Level 2-Part2
1. 在机器人和Orchestrator之间建立连接
1) 在Orchestrator里预设设备(Machines)
- 选择Machines,点右侧的加号展开菜单。此处有两个选项 - 标准设备和设备模板。我们先选择设备模板(Machine Template)。
当前只有Attended Floating Robots可用。这些robots和设备池里的设备模板绑定(上图),这样一来,使用者就可以使用设备池里的任意设备登录。
*Floating Robot非常适合在非持续性的虚拟化桌面(non-persistent VDI,从虚拟桌面池内选择虚拟机随机分配给用户,用户数据和个人设置不会保存,每次登陆后恢复到最初的原始状态)或者是类似热座模式(多人使用同一终端)的场景下使用。比如用户每天使用不同的电脑。
- 给设备(Machine Template)起个名字,点击Provision。如下图:
2) 添加一个新的Floating Robot
- 选择Robots,点右侧的加号展开菜单。选择Floating Robots。
- 先起个名字,再填上Windows用户信息,即Domain\Username。默认类型Attended不需要改了。
如果不知道Domain\Username,可以打开命令提示符,输入whoami。
3)对Robot进行设置
- 首先,打开UiPath Robot程序(可以从开始菜单搜索UiPath Robot,或者在安装路径下找到UiRobot.exe)。如果程序已经打开,可以在开始菜单右下角的系统托盘里显示。
- 右键这个图标,选择Settings以打开Robot的设置界面。
- 首先填入Machine Key。去哪里找Machine Key?在Orchestrator主界面,选择Machine,找到刚才创建的那个设备模板(Machine Template)。把鼠标放上去,看到它右侧的Edit按钮了吗?点它。
- 还需要添上Orchestrator URL。
- 填好后点一下Connect按钮,在Settings窗口的Status会从Offline变成Connected, licensed。
- 现在去Orchestrator的Robot选项里看看,刚才搞的那个attended floating robot已经好了。
2. 创建一个标准robot(Standard Robot)
1) 创建一个标准设备(standard machine)
- 去UiPath Robot Settings窗口复制当前的Machine Name,并填写Orchestrator的网址到Orchestrator URL。
- 回到Orchestrator,在Machines界面新建一个Standart Machine,把刚才复制的名字填进去。这里我的理解是,安装UiPath Robot的设备上会有一个Machine Name,这个Name没有办法直接在Settings里更改,和Orchestrator连接要确保新建的标准设备的名字和Robot Settings里的一致。
点Provision后长这个样子:
2) 创建一个标准robot
- 在Robots界面点击Standard Robot。
- 在弹出的窗口里选上刚刚创建的标准设备,给robot起名,添上Windows的用户名和密码,选择robot的type即可。
- 我理解的是填写安装Robot所在的设备的Windows用户名密码。
- robot type除了attended和unattended还有development和nonproduction,相关知识可以访问https://orchestrator.uipath.com/docs/about-licensing。
3) 复制新建的标准设备的Machine Key,复制到UiPath Robot Settings里,点Connect。
注意:在Orchestrator的Machine界面里,2018.2之后的robot版本会显示在Installed Version一列中。
4) 总结一下:
- 标准robot必须绑在标准设备上。
- 标准robot可以是任一类型(attended,unattended,development,nonproduction)。
- robot可以从Orchestrator里远程启动,也可以通过UiPath Robot直接在安装的电脑里启动。
3. Robot的Settings
在Orchestrator的Robots界面,鼠标悬停在某个robot上右边会出现edit的按钮,可以打开新建robot时弹出的窗口,切换到Settings选项卡。
这个选项卡可以设置Log Message的Level,在哪一个阶段使用,以及屏幕分辨率(有些自动化需要一个具体的分辨率以保证得到正确的结果)。
最后总结一下,开始一个process需要五步:
- 在Orchestrator里登记robots,一会好用它们去执行process;
- 在Studio里发布xaml文件,它就变成Orchestrator的package了;
- 在Orchestrator里创建环境,给这个环境里添加上你想在这个环境下使用的robots;
- 在Orchestrator里创建一个process,选上package,选上环境;
- 在Orchestrator里创建一个job,来运行刚刚创建的process。
4. 管理Package的版本
对于一个package,如果在Studio里我们对xaml文件做了一些调整并重新发布(publish), 那么这个package在Orchestrator里就会产生一个新的版本。
1) 在Studio里重新publish项目。
2) 查看package的版本。
在Orchestrator的Processes页面,选择上方的第二个标签Packages,找到相应的package,鼠标放上去,点击最右侧的View Versions,弹出下面的窗口。
我们可以看到出现了一个新的版本,它的状态是Inactive,也就是说未激活。如果我们不主动切换版本,robot会一致执行之前的版本。
3) 将process切换到新版本。
点击Processes标签,鼠标放在相应的process上,会发现前面有一个蓝色的下载图标,说明有新的package版本。
点击process右侧的View Process按钮,弹出下面的窗口,在新版本上点击Use,即可切换版本。
4)将process恢复到上一个版本,点击窗口中的Rollback。
5. 为Processes和Jobs传递参数
首先,你如果不会用input和output arguments的话建议重修Level 1的第13课,会用的可以继续。
还是之前的示例——往记事本里写一句话,但是现在有新的要求,一是可以指定写入的次数,二是返回写入的总字符数。
1) 创建两个参数变量,一个in_NumberOfLines是从外部传入的参数,一个out_CharacterCount是传给外部的参数。
2) 修改程序。
把Type Into活动放到While循环里,如果计数变量小于传入的参数in_NumberOfLines,继续写入。
程序的最后添加Get Text活动,把记事本的文本保存在NotepadText变量里,然后添加一个assign活动,把NotepadText.Length(.Length计算长度)赋值给传出的参数out_CharacterCount。
3)传入参数(input arguments)的三种方法
- 从Studio里从主程序中传入,这个Level 1讲过。
- 从Orchestrator里的Processes设定值。
- 在Processes页面找到相应的process,点击右侧View Process,弹出刚才用来换版本的窗口。
- 切换到Parameters标签页设置Input参数。
- 特别注意:如果同时使用第一种方法(从Studio传)和第二种方法(从Processes传)传参数,那么第二种方法传的参数会被覆写。
- 从Orchestrator里的Jobs设定值。
- 创建一个新的job,方法之前讲过。
- 切换到Parameters标签页设置input argument的值,然后点击Start开始运行。
-
- 特别注意:使用这种方法会覆写其他两种方法传入的值。
4) 传出参数从Job Details里看。
找到刚才运行完的job,把鼠标放上,点右边的圈圈就可以查看Job Details。