UiBot Creator V5.0更新日志
(更新时间2019-12-30)
致亲爱的UiBot用户们本次更新如下:
5.0新功能讲解视频:
第一弹 内置浏览器:https://forum.uibot.com.cn/thread-4432.htm
第二弹 UI分析器:https://forum.uibot.com.cn/thread-4526.htm
第三弹 锁屏命令:https://forum.uibot.com.cn/thread-4522.htm
第四弹 全局变量:https://forum.uibot.com.cn/thread-4566.htm
第五弹 单元测试:https://forum.uibot.com.cn/thread-4567.htm
第六弹 智能识别:https://forum.uibot.com.cn/thread-4568.htm
第七弹 命令中心:https://forum.uibot.com.cn/thread-4595.htm
具体更新说明:
1. 新增功能
1.1 UiBot开放平台
l 在工具栏右侧新增【开放平台】、【商店】、【学院】三个入口。
l 在流程图编辑页面的工具栏中新增按钮【上传到商店】 ,点击可以将当前流程上传到商店(需要开发者认证后才能上传)。
1.2 查找目标
l 将查找目标的功能整合到工具栏上
3.5.0 | 5.0 |
1.3 新增UiBot浏览器
l 在工具栏上新增UiBot浏览器按钮,点击后可以打开UiBot浏览器。
l UiBot浏览器有以下特点
1.UiBot浏览器是单窗口多标签页程序。
2.UiBot浏览器无需安装任何浏览器扩展,即可选取目标元素。
3.UiBot浏览器可以选取到跨域网页中的目标元素。
4.UiBot中的所有浏览器命令都已兼容UiBot浏览器。
5.UiBot浏览器可以直接调用所访问页面内的JavaScript方法。
l 支持以下快捷键
1.4 新增流程图变量
l 在流程图编辑页面,新增变量管理面板,可以增、删、改变量。
3.5.0 | 5.0 |
l 在流程图中定义的变量为流程图变量,可以在流程图中的任意流程块中使用。
基本使用:
1) 在流程图中新增一个变量,设置变量的值为“我是流程图变量”。
2) 在流程块中使用流程图变量。
TracePrint 流程图变量
3) 点击【运行全流程】。
4) 输出结果为:第1行:"我是流程图变量"。
l 如果只是单独运行流程块, 那么流程图变量会被BotScript引擎自动定义为流程块变量。
1) 在流程块中使用流程图变量
TracePrint 流程图变量
2) 运行流程块
3) 输出结果为:
第1行:名字 流程图变量 没有找到,已自动定义为变量
第1行:null
可以看到,BotScript引擎将变量“流程图变量”自动定义成了流程块中的一个变量。
l 在可视化与源代码模式切换右侧,新增【变量查看】功能,鼠标移到【变量查看】按钮上,会自动显示流程图的变量和当前流程块的变量,点击任意变量可将变量复制到剪贴板。
1.5 变量的定义
l 在5.0之前的版本中,如果在流程块中使用一个变量必须先要定义,然后才能使用否则BotScript引擎会抛出错误。在5.0之后使用未定义的变量,BotScript引擎会给出警告后自动将变量定义成一个流程块变量。对比如下表:
3.5.0 | 5.0 |
运行 TracePrint 测试变量 结果: 第1行:名字 测试变量 没有找到 | 运行 TracePrint 测试变量 结果: 第1行:名字 测试变量 没有找到,已自动定义为变量 第1行:null
|
1.6 新增UI分析器功能
点击工具栏的【UI分析器】按钮,打开UI分析器,UI分析器,选择查找目标,抓取桌面/IE/chrome/java等类型的元素,抓取后会自动验证一次,抓取结果展示元素的图片、特征值、可视化树和属性。
其中特征值可以根据用户的需求做修改,修改后可以点击按钮验证元素是否能匹配正确。验证规则是通过当前的修改的特征值与可视化树的结构做特征匹配。以提升修改特征后的元素查找的准确性。同时新增了一个可复选的高亮显示,点击选中则会高亮显示当前的目标元素。
什么是可视化树?
可视化树是展示UI元素层次的树,通过点击元素前面的箭头展开层次导航。右键点击某个元素的节点可显示右键的菜单
,可将此元素设置为当前目标,并自动截图和提取特征值。
可视化树应用场景:当某个元素层级较深且包含多个子元素时,我们在抓取的时候,只能抓取到其父级元素,无法获取其子元素的特征和属性。这时候我们的可视化树就派上用场了,可以通过可视树展开当前元素的子级元素,并将子级元素设置为目标,就可以提取子级元素的特征和属性值,应用到流程里去了。
属性:显示当前元素的属性特征。
复制到粘贴板:将修改的特征复制到粘贴板,可粘贴至目标里。
1.7 新增延时抓取功能
1) 查找任意目标时(元素、图像、窗口、区域目标都支持),查找放大镜的底部新增【[F2]延时3s后抓取】功能。
2) 按下F2后屏幕右下角会显示倒计时,倒计时后可以正常抓取目标,通常在倒计时的时候可以打开一些要触发后才显示的界面,比如:我需要抓取记事本中的【文件】—【新建】菜单按钮。
那么在抓取的时候可以按下F2,在倒计时的时候可以把菜单打开,这样就可以抓取到【新建】菜单按钮了。
1.8 新增密码切换变量开关
【在目标中输入密码】、【输入密码】命令的密码属性,增加输入密码与变量的切换开关。
开关有两种状态
状态1:表示输入框的类型是普通输入框,输入的变量会明文显示
状态2 :表示输入框的类型是密码框,输入的任何文字会用*号替代。
1.9 新增用户命令中心
用户命令中心可以将用户编写好的扩展命令添加到左侧的命令面板中,支持Python语言、Java语言、C#语言、Lua语言和C/C++语言所编写的扩展命令,除此之外,用户还可以将自己的扩展命令通过发布后分享给其他用户。
l 点击①【更新】,可以查看所有已安装并且可更新的命令。
l 点击②【UiBot命令】,可以查看UiBot官方发布的命令,可以根据【所有】、【已安装】、【未安装】来筛选命令列表。
l 点击③【共享命令】,可以查看其他用户在命令中心共享的命令。
l 点击④【自定义命令】,可以查看用户自己自定义的命令。
1) 点击可以新增一个命令模块在填写好途中对应的信息后,点击【保存】一个命令模块就新建完成了。
2) 点击【新增命令】可以增加该命令模块中的命令。
3) 在新增命令页面中,左侧的<编辑窗口>可以填写命令的主要信息。右侧的<属性编辑>可以添加命令的属性。
4) 保存命令后在命令模块的命令列表中可以看到刚才新建的命令。
5) 点击后,刚才新建的命令会出现在流程块编辑页面左侧的<命令面板>我的命令中
、
6) 安装完毕后,可以像使用UiBot Creator官方命令那样添加并使用了。
编辑区域
属性区域
7) 在命令模块列表中点击发布按钮可以打开发布页面
8) 填写发布信息后,点击【提交】可以将命令模块提提交审核。
9) 审核成功后会在共享命令列表中显示,刚才审核成功的命令模块,其他用户可以下载安装该命令模块,安装成功后同时也支持卸载该命令。
如果审核失败,则会给出审核失败的原因。
2 命令修改
2.1 基本命令
l 新增【垃圾回收】命令,通知BotScript引擎回收不在使用的内存空间。
l 新增【单元测试块】命令,单元测试块中可以添加任何命令,单元测试块中的命令只在单独运行流程块时有效,运行时会先执行单元测试块中的命令,然后再执行流程块中本身的命令。
基本使用:
流程块中运行 | 流程块图中运行 |
TracePrint "我是流程块第1行的内容" UnitTest TracePrint "我是UnitTest中的内容" End UnitTest TracePrint "我是流程块第5行的内容" | |
输出: 第3行:"我是UnitTest中的内容" 第1行:"我是流程块第1行的内容" 第5行:"我是流程块第5行的内容" | 输出: 第1行:"我是流程块第1行的内容" 第5行:"我是流程块第5行的内容" |
2.2 系统操作
l 新增RDP命令模块,包含【屏幕锁屏】和【屏幕解锁】命令,主要支持在系统锁屏后,不中断流程依然能正常运行。
基本使用:
dim bRet = ""
bRet = RDP.LockScreen("","")//1.调用屏幕锁屏命令。
#icon("@res:default.png")
Window.Close({})//2.插入需要在锁屏后继续运行的命令。
bRet = RDP.UnlockScreen("","")//3.解锁屏幕将控制权交还给用户。
l 使用RDP命令注意事项:
1) 使用beta版本升级,若出现ubinput.sys 无法访问的情况,使用管理员打开命令行先输入:sc stop ubinput,再输入:sc delete ubinputs,最后再到UiBot Creator的安装目录下删除ubinput.sys文件。
2) 只有Widows Server系统原生支持多用户桌面下的RDP命令,其他系统要在多用户桌面下使用RDP命令,需要使用技术手段解决。
3) RPD命令启用后理论上不支持拓展屏的操作。
4) 屏幕锁屏命令需要启用以下选项:
a) 启用远程桌面连接:【控制面板\系统和安全\系统\远程设置】勾选【允许远程协助连接这台计算机】,启用【允许远程连接到此计算机】。
b) 在组策略中,依次找到【计算机配置\管理模板\Windows组件\远程桌面服务\远程桌面会话主机\连接\将远程桌面服务用户限制到单独的远程桌面会话】选项设置启用。
c) 在组策略中,依次找到【 计算机配置\windows设置\安全设置\本地策略\安全选项\交互式登录,不需要按Ctrl+Alt+Del】选项设置启用。
2.3 浏览器命令
l 【启动新的浏览器】命令,浏览器类型属性新增“UiBot Browser”类型,选择后可以启动UiBot浏览器。
3.5.0 | 5.0 |
l 【绑定浏览器】命令,浏览器类型属性新增“UiBot Browser”类型,选择后可以绑定UiBot浏览器。
3.5.0 | 5.0 |
2.4 字符串命令
l 新增【抽取字符串中数字】命令,抽取字符串中的所有数字。
基本用法:
dim sRet = ""
sRet = DigitFromStr("abcdefg123456")
TracePrint sRet
输出:第3行:“123456”
l 新增【抽取字符串中字母】命令,抽取字符串中的所有英文字母。
基本用法
dim sRet = ""
sRet = LetterFromStr("abcdefg123456")
TracePrint sRet
输出:第3行:“abcdefg”
l 新增【获取MD5值】命令,获取目标字符串的MD5值。
基本用法
dim sRet = ""
sRet = StrHash("abcdefg123456")
TracePrint sRet
输出:第3行:“5393e07f94a25aaa373dbd3fa257bd3a”
l 新增【判断字符串】命令,判断字符串是否全部为指定内容(选择英文字母、数字、大写、小写其中之一)。
基本用法
Dim sRet
Dim str = "12321454545"
//判断字符串是否全为数字
sRet = IsSpecificStr(str,"number")
TracePrint sRet
输出:第5行:true
l 新增【判断以指定前缀开头】命令,判断目标字符串是否以指定前缀开头。
Dim sRet
Dim str = "UiBot是国内RPA领航者。"
sRet = StartsWith(str,"UiBot")
TracePrint sRet
输出:第4行:true
l 新增【判断以指定后缀结尾】命令,判断目标字符串是否以指定后缀结尾。
Dim sRet
Dim str = "UiBot是国内RPA领航者"
sRet = EndsWith(str,"领航者")
TracePrint sRet
输出:第4行:true
2.5 文件处理命令
新增【PDF格式】命令模块
2.6 界面操作命令
新增智能识别命令模块
l 智能识别命令功能相当于重新构建了一套鼠标键盘命令的功能。通过自主研发的OCR识别和基于机器学习的计算机视觉(CV)识别UI元素的组合识别能力,可以使用智能识别后鼠标和键盘的操作。例如:对于远程的虚拟桌面、QQ、微信等用选择器无法选到元素的场景,使用智能识别功能找到元素的确切位置,从而针对识别的元素进行点击、输入、悬停、判断元素是否存在和获取文本等智能识别的后的操作。
基本操作:
1) 命令区找到智能识别屏幕范围,双击或拖动至可视化编辑区,在智能识别流程块容器内添加相关的智能识别后的操作命令,比如智能识别后点击命令。然后在智能识别范围流程块上点击查找目标,选择一个截图区域进行智能识别。
2) 点击查找目标截图或直接抓取一个屏幕范围
识别成功后返回结果
3) 在流程块内插入智能识别后的相关命令,比如智能识别后点击命令
4) 点击智能识别后点击的查找目标,我们可以看到智能识别后的抓取向导,按F4可显示所有已识别的元素。现在我们可以根据点击的需求直接选择已识别的元素了。选择的目标元素如果在界面存在相似的情况,在抓取向导里会提示您选择的元素非唯一,这时候我们就要再选一个唯一的关联元素来绑定目标元素,以确保在流程运行时能准确找到目标。如果您对当前操作有疑惑,可以参考抓取向导的提示进行抓取目标元素的操作。
5) 选定一个目标后,抓取向导会提示状态和建议的操作,比如选择目标正常后,提示点击确认或回车,即可完成一个正确的目标选择。
6) 选择完智能识别后点击的目标后,我们可以运行检验一下结果是否正确点击到全面体检按钮。
3 安装修改
UiBot Creator的默认安装路径改为用户目录路径,对比如下
版本 | 路径 |
3.5.0 | C:\Program Files (x86)\UiBotCreator |
5.0 | C:\Users\{用户目录}\AppData\Local\UiBot Creator Community |
5.0中的{用户目录}表示当前登录Windows系统的用户名目录。例如当前的登录名如果是Administrator,则完整默认安装路径为
“C:\Users\ Administrator \AppData\Local\UiBot Creator Community“。
4 Bug修复
4.1 修复
l 修复UiBot自我介绍范例无法输入的问题。
l 修复数据表条件选择生成代码不正确的bug。
l 修复循环调用Python实现的命令崩溃的问题。
l 修复Chrome、Firefox浏览器扩展在多用户状态下状态显示不正确的问题。
l 修复在关闭UiBot Creator时偶尔会崩溃的问题。