前言
RPA实施工程师中级理论题共30道,前20道为单选题,后10道为多选题。共70分,推测单选2分,多选3分。(本文答案正确率大概在 50/70 左右)
以下题目部分为考试经历,部分为网络收集。以下题目给出的答案,不能保证正确,仅作参考,如果你知道那些题目答案有误,请帮忙在评论区中指出,谢谢!
————————————
【单项选择】
1. 某流程执行过程中,需要在D盘创建一个test文件夹,下面操作正确的是?
A. 插入“执行命令行”,命令,在“命令行”属性中填写"rmdir d:\\test"
B. 插入“执行命令行”,命令,在“命令行”属性中填写"mkdir d:\\test"
C. 插入“获取系统文件夹”,命令,在“命令行”属性中填写"mkdir d:\\test"
D. 插入“获取系统文件夹”,命令,在“命令行”属性中填写"rmdir d:\\test"
mkdir:创建一个新的文件夹, rmdir:删除一个空的文件夹。
【单项选择】
2. 某流程需要在FTP服务器的根目录下创建一个名为“数据”的文件夹,以下哪种写法是正确的?
A. "\数据" B. "/数据" C. "数据" D. "c:/数据"
文件夹路径中需要使用“/”
// 创建远程目录test,并在test目录下创建test2目录
bRet = FTP.CreateRemoteDir(objFTP,["/test/test2"])
【单项选择】
3. 开发人员在项目中使用UiBot辅助流程实现同时运行两个流程,主流程负责执行前台界面操作,辅助流程负责执行后台数据处理,当主流程运行结束时辅助流程的状态是?
A. 辅助流程会执行启动主流程操作
B. 辅助流程也会结束运行
C. 辅助流程会暂停,等待下一次主流程启动再恢复运行
D. 辅助流程会继续运行,直到任务完成
如果主流程结束了,会自动通知每个辅助流程,要求它们也结束。而辅助流程结束后,则不会影响到主流程或者其他辅助流程。
【单项选择】
4. 用户每次开会时都会将显示屏上的文字拍下来,会后再将照片上的文字手动整理成Word文档,每次都要花费比较长的时间,如何使用UiBot如何能帮助用户完成该操作?
A. 使用UiBot遍历所有图片,使用Mage AI模块的”图像文字识别“命令识别每一张图片上的文字,再通过Word模块的"写入文字"命令将文字写入Word文档
B. 使用UiBot遍历所有图片,然后使用Word模块的”插入图片“将图片插入到Word文档,Word会自动读取图片上的文字
C. 只能通过第三方网站将图片转成文字,再通过UiBot将文字复制Word文档中。
D. 该功能无法通过UiBot来实现
【单项选择】
5. “火车票”文件夹中有N张火车票图片,现在需要使用UiBot Creator将所有火车票的"姓名", "车次","乘车时间","出发地","目的地"写入到Excel中表格中,以下步骤正确的排列顺序是?
①遍历火车票图片的文件名数组
②打开用来存储火车票信息的Excel文件
③通过“获取文件或者文件夹列表”命令获取“火车票”文件夹中火车票图片的文件名数组。
④将识别的信息按顺序存储到Excel中
⑤循环结束后保存并关闭Excel文件
⑥使用“通用多票据识别”获取火车票上的信息
A. ①②③⑥④⑤ B. ②③①⑥④⑤ C. ⑥④⑤②③① D. ②③④⑤①⑥
【单项选择】
6. 创建一个字典,以下正确的是?
A. {"name": "张三", "gender":"male"}
B. ["name", "张三", "gender", "male"]
C. {"name", "张三", "gender", "male"}
D. {"name"-"张三", "gender"- "male"}
字典类型变量的表示方法为:把多个元素用逗号分隔,然后再使用大括号来包围起来。其中每个元素必须包含一个 名字 和一个 值,名字和值之间用冒号分隔。如下所示:
{ 名字1:值1, 名字2:值2, 名字3:值3 }
【单项选择】
7. 对一个数据表获取行列数,如下图所示,返回的结果是?
数据表.png (5行4列的表格)
A. 5, 4 B. [4, 4] C. [5, 4] D. 4, 4
【单项选择】
8. 以下为某运营商的营销数据表,现在想通过UiBot统计表中一共有几个地区,以下哪个方法是正确的?
营销数据表.png
A. 直接通过设置“获取行数”命令的参数既可以获取不同地区记录的行数
B. 首先将数据构建成数据表,再通过“数据筛选”命令筛选出“地区”重复的数据,筛选后的记录条数既是地区数量。
C. 首先将数据构建成数据表,再通过“数据切片”命令将不同地区的数据统计出来。
D. 首先将数据构建成数据表,再通过“数据表去重”命令去除“地区”重复的数据,去重后的记录条数既是地区数量。
【单项选择】
9. 对字符串"今天心情挺好的"进行搜索(从2开始),把"心情"出现的位置,赋值给iRet,向调试窗口输出iRet,结果为?
A. 2 B. 3 C. 0 D. 1
查找字符串默认起始位置为1,即从第一个字开始查找。此处为从第二个字开始查找。
【单项选择】
10. 某流程需要获取京东手机商城的前五页中,价格大于1000且小于2000的手机文字描述和价格,并将数据保存到名为"千元机"的Excel表格中,以下步骤顺序正确的是?
①将抓取到的数据构建成数据表,并将表头设置为["文字","价格"]
②启动新的浏览器,并将"打开链接"设置为手机商城的网址
③使用"数据筛选"命令对数据表进行筛选,筛选条件设置为:"价格>1000 and 价格<2000"
④使用"数据抓取"工具抓取所需的文字和价格
⑤打开"千元机"Excel表格,将筛选结果转为数组,并使用"写入区域"命令将数组保存到表格中
A. ①⑤④③② B. ②④①③⑤ C. ③②⑤①④ D. ③⑤②④①
【单项选择】
11. “数据抓取”为何要两次抓取同一层级目标?
A. 保证用户找准了目标 B. UiBot的设计理念 C. 得到抓取目标的共同特征 D. 确认用户操作
我们要抓取的是一组数据,必须找到这些一组数据的共同特征。
【单项选择】
12. 以下关于Python插件参数说法错误的是?
A. 可以把Python中的list, tuple或dict类型作为返回值,传回到UiBot
B. 不可以把Python中的list传入UiBot中
C. 可以把UiBot中的数组或者字典类型作为参数,传入Python插件中
D. 复合类型在Python插件和UiBot之间都采用值传递的方式,而不是引用传递的方式
可以把UiBot中的数组或者字典类型作为参数,传入Python插件中,对应为Python中的list或dict类型。也可以把Python中的list, tuple或dict类型作为返回值,传回到UiBot,前两者都被转换为数组类型,后者被转换为字典类型。
【单项选择】
13. 对于python插件来说,其源代码是完全公开的。如果我们既要让其他人使用我们编写的Python插件,又不希望被其他人看到插件的源代码,该怎么办呢?
A. 在UiBot Creator中至少调用一次这个插件,此时在UiBot Creator下的extend/python/__pycache__目录里有一些以插件名开头,中间是诸如.cpython-37这样的内容,以扩展名.pyc结束的文件,把该文件改为“插件名.pyc”,并且放在extend/python目录下,同时删除掉原来的“插件名.py”文件,即可在UiBot中继续使用该插件,且该插件的源代码已经变为二进制,所以无需担心别人看到源代码
B. 其他选项说法都不对
C. 在UiBot Creator中至少调用一次这个插件,此时在UiBot Creator下的lib/__pycache__目录里有一些以插件名开头,中间是诸如.cpython-37这样的内容,以扩展名.pyc结束的文件,把该文件改为“插件名.pyc”,并且放在extend/python目录下,同时删除掉原来的“插件名.py”文件,即可在UiBot中继续使用该插件,且该插件的源代码已经变为二进制,所以无需担心别人看到源代码
D. 把python源代码压缩成zip格式,并且放在extend/python目录下,即可在UiBot中使用,同时也可以避免源代码泄露
我们只需要在流程创造者中至少调用一次这个插件,就会看到有一个
extend/python/__pycache__
目录被创建出来了。到这个目录里面去看一看,里面有一些以插件名开头,中间是诸如.cpython-37
这样的内容,以扩展名.pyc
结束的文件。例如,我们的py文件为test.py,那么会自动创建这样的一个文件:extend/python/__pycache/test.cpython-37.pyc
。把这个文件改名为
test.pyc
,并且放在extend/python
目录下,同时删除掉原来的test.py
(删除前请自行备份),我们仍然可以在UiBot中使用test这个插件,且用法不变。因为它的代码已经以二进制的格式保存在test.pyc
中了。我们只需要把这个文件发送给其他人去使用,就可以避免被人直接读到源代码。当然,
test.pyc
实际上并不是加密的,仍然有可能被人反编译,得到一部分源代码。如果要做比较彻底的加密,还需要配合其他手段,本文不再赘述。
【单项选择】
14. 在程序调试时需要从某个子程序内部返回到上一层,可使用以下哪个调试命令?
A. 步出 B. 继续运行 C. 步过 D. 步入
继续运行(F6)、步过(F7)、步入(F8)、步出(F9)。“继续运行”指的是继续运行到下一个断点;“步过”指的是继续运行下一条命令;“步入”指的是继续运行下一条命令,如果下一条命令是函数,那么进入函数,在函数内的第一条命令处停下来;“步出”指的是跳出本层函数,并返回到上一层。
【单项选择】
15. 用命令库的时候,鼠标移动到某条命令上面,会有一个浮窗说明命令的具体用法,那么该说明需要在哪里设置?
A. 在“发布库”对话框中设置
B. UiBot根据命令的内容自动生成
C. 在命令库中的子程序中设置
D. 在新建命令库的时候设置
高级开发功能_UiBot开发者指南 (laiye.com)
命令库至此已建立完毕,但为了方便他人使用,推荐使用“发布”功能,把这个命令库发布成一个独立的文件,以便发给他人。
在编写命令库的时候,我们可以看到,工具栏上有一个“发布库”的按钮,如下图所示。
“发布库”的按钮
点击这个按钮,UiBot Creator会校验命令库中是否存在错误,如果没有错误,则会弹出如图所示的对话框。这个对话框中的默认值已经填写好了,可以不填。而且即使不填,也不会对使用命令库有任何影响。但在这个例子中, 我们仍然对红框所在的内容进行了修改,这样修改是为了让用户使用起命令库来更加容易。
发布命令库界面
这些修改的意义在于:
- 填写“使用说明”一栏,使得其他人在用命令库的时候,鼠标移动到这条命令上面,会有一个浮窗说明命令的具体说法;
【单项选择】
16. 在UiBot Creator Community 6.0中,将流程发布到UiBot Commader中,正确的步骤是?
A. 需要首先在UiBot Commader中新建一个流程,然后点击UiBot Creator流程界面左上方的“发布->发布至Commader”按钮,且需要在弹出框中选择UiBot Commader中新建的流程才可以发布
B. 点击流程界面左上方的“发布->发布至UiBot Commader”按钮即可
C. 点击流程界面左上方的“发布”按钮即可
D. 社区版不支持发布到Commander
在机器人指挥官中创建了一个流程之后,可以回到流程创造者,在流程图视图下点击工具栏里面的“发布”按钮,并选择“发布至机器人指挥官”
17. 在UB语言中以下为合法的数组定义的是?
A. dim x = {1,2,3} B. dim x = [1,2,3] C. dim x = [1.2.3] D. dim x = [1:2:3]
【单项选择】
18. 在UB语言中以下为合法的数组定义的是?
A. dim x = []
B. dim x = {"name":"zhangsan"}
C. dim x = [1,2,3]
D. dim x = {name:"zhangsan"}
【单项选择】
19. 在用可视化视图编写流程时,每条命令都会有属性,可以让命令使用起来更灵活,那么在源代码视图中,属性是如何表示的?
A. 用属性的英文单词来表示一条命令
B. 其他选项说法都不对
C. 通过文字描述来表示
D. 用函数调用时传入的参数,来表示命令的属性
【单项选择】
20. 当我们需要点击界面元素时,需要用到以下哪个命名空间?
A. Mouse B. Excel C. Regex D. Dialog
Mouse:鼠标, Excel:表格, Regex:正则表达式, Dialog:对话框。
【多项选择】
21. 关于对话框,下列说法正确的是?
A. 对话框的作用是让流程与人进行双向信息沟通
B. “自定义对话框”命令中的“自定义表单”属性,有文本框、密码框、单选框、复选框、时间等表单控件可供选择
C. 消息框关闭之后一定会返回一个值给“输出到”属性中的变量
D. “输入对话框”命令中,用户可以设置输入任意字符
【多项选择】
22. 某项目需要在主流程与子流程之间进行数据传递,比如:“主流程将用户系统的用户名和密码传递给子流程,子流程获取用户名和密码登录后把从系统中抓取到的数据返回给主流程”,那么以下关于主流程与子流程之间数据传递的说法正确的是?
A. 主流程可以通过“输出调试信息”命令将数据传递给子流程
B. 可以通过将子流程的流程图变量方向设置为“输入”的方式,将主流程数据传递给子流程
C. 可以通过将子流程的流程图变量方向设置为“输出”的方式,将数据传递给主流程
D. 子流程可以通过“跳出返回”命令将数据返回给主流程
- 对于“流程输入变量”,当这个流程图作为子流程的时候,这个变量可以接收上一级流程(简称“父流程”)传来的值;
- 对于“流程输出变量”,当这个流程图作为子流程的时候,这个变量可以把值传给父流程;
- 对于“流程图变量”,只能在流程图及其流程块中使用,对父流程不可见;
【多项选择】
23. 在Mage AI命令中有多种从PDF文件提取信息的命令,如“PDF文字识别”、“PDF表格识别”等等,此类命令在实际应用中会遇到需要从多页PDF文件中选择其中一页作为目标页进行识别的情况,假如使用“PDF文字识别”命令识别一份有100多页的PDF文件,仅需识别提取其中第3页的文字,那么该条命令的参数需要如何配置?
A. “识别全部页”参数选择“否”
B. “识别指定页码”参数填写[[3,3]]或者填写[3]
C. “识别全部页”参数选择“是”
D. “识别指定页码”参数填写[[1,3]]
当全部页码设为"是",则识别全部且指定页码输入无效。设为否时,可指定页码识别。
支持正整数和数组格式,如输入2,则识别第2页;如输入[1,3,5],则识别第1,3,5页;如输入[1,[6,9],4],则识别1,4页和第6到第9页。当识别全部页码设为"是",则识别指定页码的输入失效。超出PDF页码总数的部分会报错,页码重叠部分仅识别1次。
【多项选择】
24. 关于数组,下列说法正确的是?
A. 数组中各元素类型可以同
B. 使用方括号[]创建,元素间用逗号分隔
C. 数组是一种序列类型,创建后可以随意被修改
D. 数组里面的元素可用于遍历
【多项选择】
25. 假设一个数组里面有10000个元素,我们要对数组去重,下面的方法哪些比较高效?
A. 将数组元素添加到集合,利用集合元素的唯一性来去重
B. 手动对数组里的元素一个一个比对
C. 利用"过滤数组数据"命令
D. 构建数据表,选择"数据表去重"
【多项选择】
26. 目前Python插件中能使用的插件API包括哪些?
A. UiBot.IsStart()
B. UiBot.GetBrowse()
C. UiBot.IsStop()
D. UiBot.GetString(string_path)
- UiBot.IsStop() 用于检测当前流程是否需要马上停下来(比如用户按下了“停止”按钮)。
- UiBot.GetString(string_path) 用于获得当前语言版本的某个字符串。
- UiBot.GetCommanderInfo() 当UiBot Worker在运行流程时,和UiBot Commander建立了连接,则可以通过这个API获得Commander的一些信息,如URL等。一般不会用到。
【多项选择】
27. 流程开发过程中,常常会遇到一些语法或者逻辑错误,这时候需要对开发的流程进行调试,以下关于流程调试的原则合理的有:
A. 思路要开阔,避开钻死胡同。一个问题,如果一种方法已验证行不通,就需要换种尝试思路
B. 调试工具只是定位错误位置、查找错误原因的辅助方法和手段。解决实际问题时仍需要根据调试的提示信息,自己思考后做出正确的判断
C. 避免漫无目的试探,试探也是要有目的性地缩减排查的范围,最终定位出错的地方
D. 冷静分析和思考与程序错误相关的提示信息
调试的原则
冷静分析和思考与错误相关的提示信息。
思路要开阔,避开钻死胡同。一个问题,如果一种方法已验证行不通,就需要换种尝试思路。
避免漫无目的试探,试探也是要有目的性地缩减排查的范围,最终定位出错的地方。
调试工具只是定位错误位置、查找错误原因的辅助方法和手段。利用调试工具,可以帮你理清楚程序中数据流转逻辑,可以辅助思考,但不能代替思考,解决实际问题时仍需要根据调试的提示信息,自己思考后做出正确的判断。
不要只停留于修正了一个错误,而要思考引起这个错误的本质原因,是粗心写错了名称?还是用错了命令?还是流程设计上就有问题?只有找到了引起错误的本质原因,才能从根本上规避错误,以后不再犯类似错误。
【多项选择】
28. 关于UiBot Commander用户管理列表中的用户,下列说法正确的是?
A. 每个用户可以拥有多个角色
B. 每个用户可以属于多个部门
C. 每个用户只能拥有一个角色
D. 每个用户只能属于一个部门
【多项选择】
29. 在UB语言中,以下条件分支语句写法正确的是?
①
If 条件
语句块1
End If
②
If 条件
语句块1
Else
语句块2
End If
③
If 条件
语句块1
Else
语句块2
End If
④
If 条件1
语句块1
ElseIf 条件2
语句块2
Else
语句块3
End If
A. ① B. ② C. ③ D. ④
【多项选择】
30. 以下关于源代码视图和可视化视图说法正确的是?
A. 源代码视图比可视化视图的功能更强大
B. UiBot的流程块可以用可视化视图编写,也可以用源代码视图编写。两者各有优缺点。
C. UiBot的可视化视图和源代码视图是完全等价的,两者可以随时互相转换
D. 掌握源代码视图,有助于提升流程编写效率
—— —— ——
31、【多项选择】 UB语言支持多模块,可以用其他语言实现扩展模块,并在当前流程块中使用。支持以下哪几种语言开发的模块?
A. C/C++
B. .Net
C. UB
D. Python
UiBot还支持用多种不同的编程语言来编写插件。包括Python语言、Java语言、C#语言和C/C++语言。
UiBot本身的部分代码就是基于微软的.Net框架,用C#语言编写的。所以,也可以用C#语言编写UiBot的插件(以下简称为.Net插件)。实际上,微软的.Net框架支持多种编程语言,包括VB.Net、C++/CLI等等,这些编程语言都遵循.Net框架的规范,它们都可以用来编写.Net插件。
32、【多项选择】 UiBot Commander工作台页面中可以查看到的动态数据有:
A. 运行失败次数 B. 流程列表 C. 任务运行成功率 D. 运行成功次数
![]()
待运行任务 指当前用户等待运行的任务统计总数,点击可查看明细 失败任务 指当前用户运行失败的任务统计总数,点击可查看明细 运行中任务 指当前用户运行中的任务统计总数,点击可查看明细 成功任务 指当前用户运行成功的任务统计总数,点击可查看明细
数据卡片-任务运行成功率 显示最近7天个人任务的平均率,可切换查看近30天,和全部任务成功率。
任务运行成功率 指流程运行成功次数占“运行成功次数+运行失败次数”的百分比,保留小数点后2位。 近7天 指当前用户昨日到往前7天内的任务的运行成功率数据。 近30天 指当前用户昨日到往前30天内的任务的运行成功率数据。
33、【多项选择】 UiBot Creator支持C#
A. .Net插件需要编译成扩展名为.dll的文件,才能被UiBot使用
B. 插件dll文件必须放到UiBot的extend\DotNet目录下
C. .Net插件使用时,需要先安装.Net框架
D. 微软的.Net框架支持多种编程语言,包括VB.Net、C++\C等等,这些编程语言都遵循.Net框架的规范,它们都可以用来编写.Net插件
和Java插件类似,.Net插件也需要编译成扩展名为
.dll
的文件,才能被UiBot使用。
34、【多项选择】 UiBot Creator支持Java语言编写的插件,以下说法正确的是?
A. UiBot Creator内置了JRE
B. 使用前需要先安装JRE
C. UiBot Creator内置了JDK
D. 插件源代码文件命名为<插件名>.java,并在文件中写一个Java类,这个类的名字也必须与插件名相同
35、【多项选择】 下列关于邮件操作说法正确的是?
A. 收取邮件使用的服务协议是POP
B. 发送邮件使用的服务协议是POP
C. 发送邮件使用的服务协议是SMTP
D. 收取邮件使用的服务协议是SMTP
收取邮件使用的服务协议通常是POP(Post Office Protocol)或者IMAP(Internet Message Access Protocol)。其中,POP是一种用于从邮件服务器下载邮件的协议。
发送邮件使用的服务协议是SMTP(Simple Mail Transfer Protocol),它定义了电子邮件的传输方式,包括如何将邮件从发件人传递到收件人。
36、【多项选择】 下面关于UiBot源代码文件说法正确的是?
A. 源代码文件是二进制格式
B. 源代码文件采用UTF-8编码
C. 源代码文件采用ASCII编码
D. 源代码文件是纯文本格式
37、【多项选择】 为在UiBot中顺利使用Java插件,需要符合的规定说法正确的有:
A. 如果需要把字典或数组类型从Java插件中传到UiBot中,Java插件中的返回值类型只能使用org.json.JSONArray或者org.json.JSONObject
B. 如果Java插件的参数是整数型(int),不能传入大于等于 2^31 的整数
C. 如果Java插件的参数是浮点数,可以传入整数,反之也成立
D. 如果需要把字典或数组类型从UiBot中传到Java插件中,Java插件中的参数类型只能使用org.json.JSONArray(对应数组)或者org.json.JSONObject(对应字典)
- 如果需要把字典或数组类型从UiBot中传到Java插件中,Java插件中的参数类型只能使用org.json.JSONArray(对应数组)或者org.json.JSONObject(对应字典)
- 如果需要把字典或数组类型从Java插件中传到UiBot中,Java插件中的返回值类型只能使用org.json.JSONArray或者org.json.JSONObject。UiBot会自动把org.json.JSONArray类型的返回值转换成UiBot中的数组,而把org.json.JSONObject类型的返回值转换成UiBot中的字典
- 如果Java插件的参数是长整数型(long),可以传入小于 2^31 的整数,不会出错。但反之不成立,也就是说,如果Java插件的参数是整数型(int),不能传入大于等于 2^31 的整数
- 如果Java插件的参数是浮点数,可以传入整数,不会出错。但反之不成立,也就是说,如果Java插件的参数是整数,不能传入浮点数
- 无论传入参数,还是返回值,这些复合类型在Java插件和UiBot之间都采用值传递的方式,而不是引用传递的方式
38、【多项选择】 以下关于UiBot Creator时间线的说法正确的是?
A. 如果用户不记得保存时间线,UiBot Creator每隔五分钟,会自动保存时间线
B. 如果某段时间内用户未修改流程内容,UiBot Creator也会自动保存时间线
C. 点击任意一个时间点的恢复按钮,可将该时间线的代码内容恢复至现有代码
D. 可以手动保存时间线
每隔五分钟,流程创造者会自动保存时间线;如果这段时间内用户未修改流程内容,则不保存时间线。
在“时间线”页面,点击任意一个时间点的恢复按钮,可将该时间线的代码内容恢复至现有代码。
39、【多项选择】 以下关于流程调试打断点的技巧说法正确的是?
A. 在流程开始执行处打断点
B. 方法中最有可能发生错误的那一行打程序断点
C. 在调试输出信息的代码行打断点
D. 在有可能发生错误的方法的第一行逻辑程序打断点
一般设置断点的方式及位置是:
在有可能发生错误的方法的第一行逻辑程序打断点。
方法中最有可能发生错误的那一行打程序断点。
40、【多项选择】 以下哪些属于UB语言中的循环语句?
① Do While 条件 语句块 Loop
② Do Until 条件 语句块 Loop
③ Do 语句块 Loop While 条件
④ Do
A. ④ B. ① C. ② D. ③
1.条件循环
2.计次循环
3.遍历循环
41、【多项选择】 以下哪几种写法是UiBot支持的浮点数写法
A. 1e-2 B. 0.01 C. 1E-2 D. “0.01”
42、【多项选择】 以下哪几项是正确的函数调用格式:
A. 函数名 表达式1, 表达式2
B. 返回 = 函数名(表达式1, 表达式2)
C. 函数名(表达式1, 表达式2)
D. 返回 = 函数名()
调用函数的格式如下:返回 = 函数名 ( 表达式 1, 表达式 2)或者函数名( 表达式 1, 表达式 2)
43、【多项选择】 使用UB语言中常量的说法正确是?
A. 常量的值可以改变
B. 定义常量名的同时,必须给常量赋值一个初始值
C. 常量的类型可以改变
D. 常量的定义方式和变量类似,只是把Dim改为Const
常量的定义方式和变量类似,只是把
Dim
改为Const
,并且必须在定义时就指定值:Const 常量名1 = 值, 常量名2 = 值
常量和变量的唯一区别是,常量只能在定义时指定一次值,后面不允许再修改。
44、【多项选择】 使用UiBot IMAP模块下的“获取邮箱文件夹列表”命令,获取QQ邮箱文件夹并输出,结果为:[ "其他文件夹", "INBOX", "Sent Messages", "Drafts", "Deleted Messages", "
A. 在QQ邮箱服务器上,”INBOX“代表”收件箱“,所以当我们通过”获取邮件列表“命令获取”收件箱“内的邮件时,在该命令的“邮箱文件夹”属性处输入”收件箱“和”INBOX“可以得到相同效果
B. 在QQ邮箱服务器上,”INBOX“代表”收件箱“,但其他的邮箱服务器可能不支持这种对应关系,所以在使用带有”邮箱文件夹“属性的命令时,建议直接使用”获取邮箱文件夹“命令返回的结果
C. 该命令返回的是英文版邮箱的文件名,应该要去邮箱中设定中文版才能正常使用
D. 出现这种结果是邮箱服务器出现了错误
45、【多项选择】 关于CSV文件,下列说法正确的是?
A. CSV文件由任意数目的记录组成,记录间以某种换行符分隔
B. 数据容量小,易于网络传输
C. 是一种通用的、相对简单的文件格式
D. 可以应用在程序之间转移表格数据
46、【多项选择】 关于UB语言中的函数描述正确的是?
A. 函数可以在语句中被调用
B. 使用函数可以提高流程运行效率
C. 使用函数可以有效的梳理逻辑,以及避免重复代码的编写
D. 函数相当于把一组常用的功能包装成一个语句块
47、【多项选择】 关于UiBot Creator的时间线说法正确的是?
A. 时间线可以保存流程图的历史版本
B. 时间线可以保存源代码的历史版本
C. 时间线只能在源代码视图下使用
D. 可以手动保存时间线
源代码的版本控制是软件开发中一个十分重要的工程手段,它可以保存代码的历史版本,可以回溯到任意时间节点的代码进度。
48、【多项选择】 关于单元测试块的功能说法正确的是?
A. 单元测试块执行效率更高
B. 在执行单个流程块时,流程块中的单元测试块都会最先执行
C. 在运行整个流程时,单元测试块会被忽略
D. 每个流程块必须设置一个单元测试块
单元测试块具有如下特性:
第一、单元测试块不管放置在流程块中的什么位置,都会被优先执行。
第二、只有在运行单个流程块时,这个流程块中的单元测试块才会被执行;如果运行的是整个流程,流程块中的单元测试块将不会被执行。
49、【多项选择】 关于发布命令库说法正确的是?
A. 在UiBot Creator流程图界面下的工具栏上点击“导入”按钮即可导入并使用已发布的命令库
B. 在命令库项目中,点击工具栏上的“发布库”按钮,UiBot Creator会校验命令库中的源代码是否存在错误
C. 在UiBot Creator的命令中心点击“导入命令库”即可导入并使用已发布的命令库
D. 在命令库项目中,点击工具栏上的“发布库”按钮,会弹出“发布库”对话框,这个对话框中有多处填空,但即使不进行填写也不会影响命令库导出后的使用
50、【多项选择】 关于命令库的说法正确的是?
A. 在编写流程块的时候导入一个命令库,这个命令库在当前流程里面的所有流程块中都是可用的
B. 使用了命令库的流程,在打包给UiBot Worker或者UiBot Store使用的时候,命令库会被自动打包,而不需要我们再做额外的处理
C. 命令库中可以包含若干个“子程序”
D. 在一个流程中导入了命令库,只要不重装UiBot,其他的流程也都能使用该命令库
51、【多项选择】 关于子流程的使用场景说法正确的是?
A. 项目中子流程越多越好
B. 当我们写入一个整数到Excel文件时,可以把打开Excel写成一个子流程,写入数据再写成一个子流程
C. 在一个大的场景中,涉及到多个系统的复杂操作,可以把每个系统的操作作为一个子流程,最后拼接成一个大的流程
D. 在多个流程中都需要使用的某段流程,可以作为子流程共享给其他流程使用
52、【多项选择】 关于字典,下列说法正确的是?
A. 采用大括号{}创建,多个元素用逗号分隔
B. 字典是键值对的集合,键值对之间有序
C. 键只能是字符串,值可以是任意类型的表达式
D. 每个元素必须包含一个键和一个值,键值对用冒号:表示
字典类型变量的表示方法为:把多个元素用逗号分隔,然后再使用大括号来包围起来。其中每个元素必须包含一个 名字 和一个 值,名字和值之间用冒号分隔。
其中 名字 只能是字符串,值 可以是任意类型的表达式。
53、【多项选择】 关于数组,下列说法正确的是?
A. 数组中各元素类型可以不同
B. 使用方括号[]创建,元素间用逗号分隔
C. 数组里面的元素可用于遍历
D. 数组是一种序列类型,创建后可以随意被修改
54、【多项选择】 关于计次循环语句说法正确的是?
A. 起始值、结束值、步进都只允许是整数型或者浮点数型
B. 步进可以省略,默认值为1
C. 步进可以是一个字符串
D. 变量从起始值开始,每循环一次自动增加步进,直到大于结束值
在计次循环语句中,"起始值"、"结束值"、"步长"都只允许是整数型或者浮点数型;"步长"可以省略,默认值为1。变量从"起始值"开始,每循环一次自动增加"步长",直到大于"结束值",循环才会结束。
55、【多项选择】 关于通用多票据识别,下面正确的是?
A. 支持PDF多票据识别,返回结果数组
B. 模型能够返回一张图片上多个不同类型票据的识别结果
C. 能够自动识别是哪种票据
D. 能够从20多种常见票据中抽取核心字段值
56、【多项选择】 关于集合,下列说法正确的是?
A. 集合中的数据是不能重复的
B. 集合中的数据是无序的
C. 集合中的数据类型可以是任意类型
D. 同一个集合中的数据类型可以不同
57、【多项选择】 在UB语言中,以下关于Break与Continue的说法正确的是?
A. 两者只能出现在条件循环、计次循环或遍历循环等循环语句的内部语句块中
B. Continue其含义是立即结束当前循环,并开始下一次循环。
C. 两者功能相同,前者只能用于条件循环,后者则用于计次循环
D. Break其含义是立即跳出当前循环
在UB语言中,支持以下形式的循环跳出语句:
Break:只能出现在条件循环、计次循环或遍历循环等循环语句的内部语句块中,其含义是立即跳出当前循环。
Continue:只能出现在条件循环、计次循环或遍历循环等循环语句的内部语句块中,其含义是立即结束当前循环,并开始下一次循环。
Exit:可以在流程块中的任何地方书写。不需要任何参数,即可在执行到此行的时候,自动结束整个流程(不是当前流程块)的执行。
58、【多项选择】 在UB语言中,关于多模块说法正确的是?
A. 可以通过“import”关键字导入模块
B. 通过“命名空间.函数名”的方式调用导入模块中的函数
C. 直接通过“函数名”即可调用模块中的函数
D. 可以通过“include”关键字导入模块
59、【多项选择】 在UiBot Creator中可以用前后各三个单引号(''')来表示一个字符串,这种字符串被称为长字符串,以下属于长字符串特点的是?
A. 可以自动对文字进行排版换行
B. 可以直接写单引号
C. 可以直接写回车符
D. 可以直接写双引号
也可以用前后各三个单引号(
'''
)来表示一个字符串,这种字符串被称为长字符串。在长字符串中,可以直接写回车符、单引号和双引号,无需用\n
,\'
或者\"
进行转义。
60、【多项选择】 在UiBot Creator中可以通过以下哪些方式进行断点的添加或者删除?
A. 选中一行命令,直接按热键F5,原先没有断点的,会加上断点;原先有断点的,会删掉这个断点
B. 选中一行命令,在菜单中选择“运行”->“设置/取消断点”,原先没有断点的,会加上断点;原先有断点的,会删掉这个断点
C. 点击任意一行命令左边的空白位置,都可以添加断点。再次点击这个位置,可以删除这个断点
D. 选中一行命令,直接按热键F4,原先没有断点的,会加上断点;原先有断点的,会删掉这个断点
61、【多项选择】 在UiBot Mage AI中包含“验证码识别”模块,该模块可以辅助用户在登录带有验证码的系统时也能实现流程自动化,那么以下关于“验证码识别”说法正确的是?
A. 不是所有验证码都能识别,对于不能识别的验证码,可以提供验证码图片给UiBot官方进行训练
B. 目前不支持滑块验证码识别
C. 验证码识别准确率为100%
D. 验证码识别后直接返回验证码文本
62、【多项选择】 在UiBot的HTTP模块中,有两个跟Post相关的命令,一个是“Post提交表单”,另一个是“Post提交JSON表单”,我们应该如何选择使用?
A. 这两个命令只是名称上的区别,使用时没区别
B. “Post提交JSON表单”只能提交字典类型数据
C. 当服务器要求提交数据格式为“application/json”时应该使用“Post提交JSON表单”
D. 当服务器要求提交数据格式为“application/x-www-form-urlencoded”时应该使用“Post提交表单”
63、【多项选择】 在处理表格数据的时候,经常需要对数据进行筛选排序,UiBot提供数据表模块专门处理类似需求,那么构建数据表的数据来源一般有哪些?
A. 从word文档中读取的一段文字
B. 用“取随机数”命令获取的一个随机数
C. 通过“数据抓取”工具抓取到的数据
D. 通过UiBot Excel模块的“读取区域”命令从Excel表格中的读取的数据
64、【多项选择】 在普通的桌面计算机上运行流程的时候,我们希望锁住屏幕,而不影响流程的正常运行,下面说法正确的是?
A. 可以在Windows系统中按“Win+L”键
B. 如需要支持RDP锁屏命令,Windows系统需要支持远程桌面连接
C. 如需要支持RDP锁屏命令,Windows系统需要启用远程桌面连接
D. 可以插入“屏幕锁屏”命令
为了支持这些命令,Windows系统需要预先进行一些设置:
第一、Windows系统需要支持远程桌面连接,这个是先决条件,因为这两条命令实际上是使用了Windows的远程桌面协议(Remote Desktop Protocol,简称RDP)。一般来说,家庭版或者教育版的Windows系统不支持RDP,而企业版、旗舰版等都支持RDP。
第二、Windows系统需要启用远程桌面连接。
65、【多项选择】 在流程开发过程中,我们经常会遇到页面跳转的情况,为了保证流程的稳定性,在流程调试时我们可以使用的解决办法有:
A. 不用做其他操作,UiBot会自动判断页面跳转情况
B. 通过Delay命令延时固定时间后再执行下一步操作
C. 通过“等待元素”命令,等待元素显示或者元素消失后再进行下一步操作
D. 通过使用“判断元素是否存在”命令来循环判断元素是否存在后再执行下一步操作
66、【多项选择】 在通过UiBot HTTP模块中的“Get获取数据”命令请求网络数据时,经常需要设置Headers,那么以下哪种说法是正确的?
A. 每次使用该命令前必须设置Headers
B. Headers可以包含很多请求信息,但不是每条信息都是必须的
C. 可以将网站的cookies作为Headers的一部分
D. Headers没有实际作用,可有可无
67、【多项选择】 子流程和辅助流程的区别说法正确的是?
A. 主流程结束辅助流程也会结束
B. 子流程可以看作主流程的一个流程块
C. 子流程与辅助流程只是名字不同,功能与使用方法完全一致
D. 辅助流程与主流程是同时启动运行的
当流程开始运行的时候,主流程和所有的辅助流程都会同时开始,同时从“主流程开始”和每个“辅助流程开始”的组件处,根据箭头指向,依次运行每个流程块中的内容。
如果主流程结束了,会自动通知每个辅助流程,要求它们也结束。而辅助流程结束后,则不会影响到主流程或者其他辅助流程。
每个子流程里面又可以包含多个流程块,以及条件判断等。在我们的视角中,只是当作单独的组件。
68、【多项选择】 当我们通过FTP模块的“删除文件”命令删除FTP服务器上的某个文件时,如果出现以下错误:“error: The system cannot find the file specified
A. 该问题暂时没有解决办法
B. 在删除文件前先通过“判断远程文件夹是否存在”命令检测文件是否存在,如果存在再执行删除操作
C. 在删除文件前先通过“列举远程目录下的内容”命令列举出所有文件和文件夹,如果需要删除的文件在列举的内容中,再进行删除操作
D. 在删除文件前先通过“判断远程文件是否存在”命令检测文件是否存在,如果存在再执行删除操作
69、【多项选择】 整数型的值可以以十进制或者十六进制的方式表示,以下十六进制写法正确的是?
A. 0x B. &H C. x16 D. &h
在十六进制中,数字0到9对应的值与十进制相同,而字母A到F分别代表十进制数10到15。
"0x"和"&h"是表示十六进制的常见前缀。
70、【多项选择】 日常开发中对表格进行处理时,经常会对两个或更多的表格进行合并,我们通常会使用UiBot数据表模块的“合并数据表”命令来完成该操作,那么“合并数据表”命令在操作时有哪几种连接方式?
A. 外连接 B. 内连接 C. 右连接 D. 左连接
- 外连接 (Outer Join):返回两个表格中所有的行,并且在没有匹配的行时填充缺失值。
- 内连接 (Inner Join):只返回两个表格中共有的行,忽略不匹配的行。
- 右连接 (Right Join):返回右侧表格中的所有行,以及与左侧表格匹配的行。
- 左连接 (Left Join):返回左侧表格中的所有行,以及与右侧表格匹配的行。
71、【多项选择】 某UiBot开发人员开发的一条流程在UiBot Commander任务管理模块显示运行失败,可以使用该模块的哪些功能辅助进行流程错误排查?
A. 查看任务日志 B. 查看截图 C. 关闭并重启Commander D. 查看运行录屏
72、【多项选择】 某UiBot开发人员用Python编写了一个插件,该插件中导入了其他模块,在使用该插件时需要将导入的模块放在UiBot Creator安装目录的哪些路径下?
A. extend\python\.lib B. support C. lib\site-packages D. lib\uibot
如果我们在插件中还需要导入其他的模块,一种方式是将其放置在lib/site-packages
路径下,还有一种方式是将其放置在extend/python/<插件名>.lib
路径下。
73、【多项选择】 某企业有两个流程,第一个流程的主要功能是在后台处理数据,第二个流程的主要功能是从指定的网站抓取数据存储到Excel文档,每个流程的运行时间都是10分钟,且两个流程都必须从上午9点开始运行,以下说法可行的是?
A. 提升电脑配置,让流程运行更快
B. 使用UiBot辅助流程
C. 准备两台UiBot机器人
D. 该问题没有办法解决
在UiBot中,既支持多个流程之间并行地运行(多个流程同时运行),也支持多个流程之间串行地运行(先运行一个,再运行另一个)。前者称之为“ 辅助流程”,后者称之为“ 子流程”。实际上,UiBot设计辅助流程机制的初衷,并不是让我们同时运行多个软件机器人,去做不同的任务。因为UiBot经常需要模拟界面操作,如果多个流程都在同一套界面上进行操作,实际上很难协调,让它们能够有条不紊的做不同的操作,就像两个人各拿一个鼠标,去操作同一台计算机一样,稍有不慎就会产生冲突。
74、【多项选择】 某流程需要将QQ邮箱收件箱中所有头部信息(主题、发件人、收件人、抄送人)包含”京东“的邮件移动到草稿箱,以下操作步骤正确的是?
A. 连接邮箱->查找邮件->遍历查找结果->移动邮件到草稿箱
B. 连接邮箱->获取邮件列表->判断邮件头部信息是否包含“京东”->将包含“京东”的邮件移动到草稿箱
C. 获取邮件列表->判断邮件头部信息是否包含“京东”->连接邮箱->将包含“京东”的邮件移动到草稿箱
D. 查找邮件->连接邮箱->遍历查找结果->移动邮件到草稿箱
“获取邮件列表”命令的属性区域,支持“仅限未读消息”、“标记为已读”设置,比POP协议更加灵活,输出的数组中元素的字段结构与POP也有稍微区别,即POP的邮件对象与IMAP的邮件对象存在区别。
“查找邮件”命令的属性区域,可以指定邮箱文件夹和查找关键字(检索邮件头信息:主题、发件人、收件人、抄送人)进行邮件查找,返回的结果为数组,若没有检索到邮件则返回空数组,检索到1封邮件,则数组里只有1个元素,若多封邮件则多个元素。"字符集"属性取默认值,遇到邮箱服务器的编码不一致才需要调整。
75、【多项选择】 某游戏平台的界面使用了DirectUI技术绘制,我们要获取里面的文字,可以采用哪种办法?
A. 界面操作里的获取元素文本
B. 智能识别后获取文本
C. Mage AI 里面的屏幕文字识别
D. 屏幕OCR
为什么不能使用界面元素?
- 虚拟机和远程桌面
包含Citrix、VMWare、Hyper-V、VirtualBox、远程桌面(RDP)、各种安卓模拟器(如腾讯安卓模拟器)等。这些程序都由单独的操作系统在运行,和UiBot所在的操作系统是完全隔离的,UiBot自然无法操作另一个操作系统里面的界面元素。
- 基于DirectUI的软件
以前,Windows软件界面的开发框架都是微软提供的,包括MFC、WTL、WinForm、WPF等。微软很贴心的为这些框架制作出来的界面都提供了自动化操作的接口。近年来,为了让软件界面更好看,也更容易制作,很多厂商或开发团队推出了自己的Windows软件界面开发框架。这类框架统称为DirectUI。用这些框架制作的界面,其界面元素都是“画”出来的,虽然人眼可以看到,但操作系统和其他程序都不知道界面元素到底在哪里。有的DirectUI框架提供了对外的接口,可以找到界面元素,有的则根本没有提供这样的接口,其它程序,包括UiBot,自然也无法找到界面元素。
- 游戏
由于游戏的界面强调美观和个性化,所以,一般游戏的界面元素都是“画”出来的,原理上和DirectUI类似。这种界面通常也没有提供接口,告知我们界面元素的位置。和基于DirectUI的软件不同的是,游戏界面变化速度快,对时效性的要求更高,一般来说,RPA平台并未针对游戏进行优化,所以在游戏上使用的效果不会太好。
智能识别
如前所述,虚拟机、远程桌面、基于DirectUI的软件、游戏等应用程序,无法直接使用有目标命令的“从界面上选取”功能定位界面元素。在这种情况下,只能使用无目标命令和图像命令配合的方式,但图像命令有一些使用技巧不易掌握,在掌握不好的情况下,非常容易出现“错选”或者“漏选”。为此,UiBot设计了一套智能识别功能,这是另一种基于图像进行界面元素定位的方法。
比如著名的游戏平台Steam,其界面使用了DirectUI技术绘制,我们无法获得其中的任何文字(虽然这些内容用肉眼很容易看到),如图所示。
使用智能文档处理,固然可以得到其中的文字,但未免“高射炮打蚊子”。而且智能文档处理的AI能力必须连接互联网才能使用,免费版也有配额限制。此时,就需要祭出UiBot的“本地OCR”命令了。
76、【多项选择】 流程开发过程中,常常会遇到一些语法或者逻辑错误,这时候需要对开发的流程进行调试,以下关于流程调试的原则合理的有:
A. 思路要开阔,避开钻死胡同。一个问题,如果一种方法已验证行不通,就需要换种尝试思路
B. 冷静分析和思考与程序错误相关的提示信息
C. 调试工具只是定位错误位置、查找错误原因的辅助方法和手段。解决实际问题时仍需要根据调试的提示信息,自己思考后做出正确的判断
D. 避免漫无目的试探,试探也是要有目的性地缩减排查的范围,最终定位出错的地方
调试的原则
冷静分析和思考与错误相关的提示信息。
思路要开阔,避开钻死胡同。一个问题,如果一种方法已验证行不通,就需要换种尝试思路。
避免漫无目的试探,试探也是要有目的性地缩减排查的范围,最终定位出错的地方。
调试工具只是定位错误位置、查找错误原因的辅助方法和手段。利用调试工具,可以帮你理清楚程序中数据流转逻辑,可以辅助思考,但不能代替思考,解决实际问题时仍需要根据调试的提示信息,自己思考后做出正确的判断。
不要只停留于修正了一个错误,而要思考引起这个错误的本质原因,是粗心写错了名称?还是用错了命令?还是流程设计上就有问题?只有找到了引起错误的本质原因,才能从根本上规避错误,以后不再犯类似错误。
77、【多项选择】 请阅读如下代码,下列四个选项中描述正确的是?
Dim A = [1,2,3,4,5,6,7]
For Each index,value In A
Select Case index
Case 1,2
TracePrint "第1名至第2名"
Case 3,4
TracePrint "第3名至第4名"
Case 5,6
TracePrint "第5名至第6名"
Case Else
TracePrint "倒数第一名"
End Select
Next
A. 当循环到索引值index为6时,输出调试信息值为"第5名至第6名"
B. "倒数第一名"会被输出到调试信息输出显示2次
C. 当循环到索引值index为6时,输出调试信息值为"倒数第一名"
D. "第1名至第2名"会被输出调试信息输出显示2次
78、【多项选择】 需要使用UiBot Mage AI的功能时,我们可以点击UiBot工具栏上的Mage AI按钮,也可以在UiBot左侧的命令区域选择Mage AI模块的命令使用,那这两种方式的区别是?
A. 工具栏上的Mage AI与命令区域的Mage AI模块是完全不同的两套解决方案,所有功能的实现也使用了不同的算法
B. 工具栏上的Mage AI按钮内相当于将大部分Mage AI命令工具化,用户不需要了解具体使用哪条命令,只需要根据向导进行选择即可
C. 工具栏上的Mage AI按钮可以实现低代码,我们只需要按照向导选择,即可获取我们想要的结果,不需要手动选择具体的UiBot预制件命令
D. 命令区域的Mage AI需要手动拖拽需要的命令,命令可以返回更多信息,比如ORC识别不仅可以获取图像识别结果,还可以获取相应的坐标等
打开流程创造者,在编写任何一个流程块的时候,工具栏上都可以找到标有“智能文档处理”(Mage AI)的图标。点击这个按钮,即可弹出智能文档处理识别向导的窗口。可以看到,这个向导包含了“配置识别器、选择图像来源、提出类型和字段”三个步骤。
使用这个向导,可以自动生成一系列命令,大大简化我们的操作。
79、【多项选择】 项目开发团队中,经常会涉及到任务分工,每名工程师负责一个模块,UiBot中哪些功能能够帮助开发者更好的分工协作?
A. 子程序 B. 鼠标键盘操作 C. 子流程 D. 浏览器操作
【多项选择】请阅读如下代码,下列选项中说法正确的是?
A. "Mage"字符串输出调试信息显示1次
B. "UiBot"字符串输出调试信息显示2次
C. "UiBot"字符串输出调试信息显示4次
D. "Mage"字符串输出调试信息显示2次
——
80、【单项选择】 UiBot处理PDF格式文档,下面说法错误的是?
A. 可以将PDF文档里面的所有图片都提取出来
B. 可以将多个PDF文档合并为一个
C. 可以将图片转换为PDF格式
D. 可以获取PDF文档中的文本
UiBot可以提取PDF文档中的文本内容,合并多个PDF文档为一个,以及将图片转换为PDF格式,但提取PDF文档中的图片需要使用其他方法或工具。
81、【单项选择】 UiBot开发人员需要单独调试一个流程块,但是该流程块有变量的取值是来自其他流程块的,遇到这种情况可以使用什么办法进行调试?
A. 使用单元测试块 B. 调试当前流程 C. 运行当前流程 D. 设置断点
82、【单项选择】 UiBot提供两种邮件收取协议,第一种是“POP3”,第二种是“IMAP”,以下使用方法错误的是?
UiBot提供了两种邮件收取协议:POP3和IMAP。使用POP3协议时,需要使用"邮件接收"流程块,并设置相应的POP3服务器和账户信息。
使用IMAP协议时,同样需要使用"邮件接收"流程块,但需要设置IMAP服务器和账户信息。
83、【单项选择】 关于插件的使用,以下说法错误的是?
A. Python插件存放在extend/python目录下
B. UiBot可调用插件的功能,插件不可调用UiBot的功能
C. 插件可分享到UiBot命令中心
D. 支持Python、Java、C#.Net、C/C++编写的插件
和Python、Java插件类似,在.Net插件中,也可以使用插件API,反过来调用UiBot的一部分功能。
84、【单项选择】 UiBot的流程块包含可视化和源代码两个视图,那它们是使用什么方式来存储的?
A. 可视化视图的内容和源代码的内容都是以同一个源代码文件的形式存储。在可视化视图下,UiBot Creator会将源代码转换成命令的形式
B. 可视化视图中的命令通过整整齐齐的方框来表示,所以需要将每条命令的坐标进行存储
C. 可视化视图的内容是以图片形式存储,源代码视图的内容以文本方式存储
D. 可视化视图的内容是以JSON形式存储,源代码视图的内容以文本方式存储
85、【单项选择】 “屏幕锁屏”命令的作用是?
A. 比WIN+L键锁屏功能更快
B. 和WIN+L键功能相同
C. 可以让windows锁屏后UiBot依然能正常运行
D. 其他选项说法都不对
86、【单项选择】 “火车票”文件夹中有N张火车票图片,现在需要使用UiBot Creator将所有火车票的"姓名", "车次","乘车时间","出发地","目的地"写入到Excel中表格中,以下步骤正确的排列顺序是?
①遍历火车票图片的文件名数组
②打开用来存储火车票
A. ②③①⑥④⑤ B. ⑥④⑤②③① C. ①②③⑥④⑤ D. ②③④⑤①⑥
② 打开用来存储火车票的Excel表格,准备写入数据。
③ 使用"遍历文件夹"流程块,遍历火车票图片的文件名数组,逐一处理每张火车票图片。
① 在遍历的过程中,获取每张火车票的信息,如姓名、车次、乘车时间、出发地、目的地。
⑥ 将获取的火车票信息写入到Excel表格中。
④ 继续遍历下一张火车票图片。
⑤ 关闭Excel表格,完成数据写入。
87、【单项选择】 下列关于UB语言定义变量说法错误的是?
A. 变量的定义方式是:Dim 变量名
B. 可以在一行定义多个变量,如:Dim x= 0,y=0
C. 定义变量名的同时,必须给变量赋值一个初始值
D. 变量可以是整数类型,或者其他UB支持的数据类型
88、【单项选择】 下列关于插件API的说法正确的是?
A. 其他选项说法都不对
B. 可以用来调用UiBot的一部分功能
C. 是Commander的OpenAPI另一种说法
D. 用户自定义的API
89、【单项选择】 下列有关命令库的说法,不正确的是?
A. 某个命令库更新后,调用它的流程中不用重新导入更新
B. 一个命令库可以包含多个子命令
C. 命令库可以直接在UiBot Creator中通过”新建-->命令库“进行新建
D. 命令库开发完成后,需要进行发布,才能被其他流程调用
90、【单项选择】 下图为某单位财务收入表图片,如何快速地获取到表格的前3行,前3列的数据?
A. 使用UiBot工具栏上的Mage AI按钮 ,选择”通用文字识别“命令,然后点击“自定义提取”,选择“指定区域”
B. 只能手动将数据录入到Excel表格
C. 使用UiBot工具栏上的Mage AI按钮 ,选择”通用文字识别“命令将图片上的数据识别成文字,再根据排列规则将文字逐个写入Excel表格
D. 使用UiBot Mage AI的”图像表格识别“命令直接识别图片表格数据,再通过循环遍历识别结果的方式,将表格数据写入Excel文件中
91、【单项选择】 下图是某合同图片,我们要核实印章是复印出来的还是新加盖的,引擎版本怎么选择?
A. 合合信息 B. 标准版 C. 标准版和合合信息都可以 D. 其他选项说法都不对
91.1、【单项选择】下图是某合同图片,我们要核实印章是复印出来的还是新加盖的,引擎版本怎么选择?
A. 基础版B. 标准版C. 高级版D. 高精版
92、【单项选择】 下表是名为“员工考勤”的Excel表格,现需要查询出表中“迟到次数”大于1的记录,并保存到名为“常迟到员工”的Excel表格中,完成该功能正确的操作步骤是?
①使用“数据筛选”命令对数据进行筛选,并把筛选条件设置为“迟到次数>1”
②使用“构建数据表”命令将读取的数据构建成成数据表,并从“员工考勤表”中读取第一行作为数据表的表头
③打开“员工考勤表”并获取表格总行数
④打开“常迟到员工”Excel表格,将筛选结果转为数组后,使用“写入区域”命令将数组写入到“常迟到员工”表中
⑤使用“读取区域”命令读取“员工考勤表”中的数据,读取范围为: “A2:E”&总行数
A. ①⑤④③② B. ④⑤③②① C. ③⑤②①④ D. ③②⑤①④
93、【单项选择】 业务人员在语句"这是我的主页,http://www.iou.com:60/html/xyz.html,你可以打开看一下, 还有他的主页,http://www.haha.com:8080,这不知道是谁的主页,http://www.who.com:66/xyz.html,都可以看一下",使用正则表达式"(w+.*?com):(\\d+)", 返回所有结果,下面哪个是正确的?
A. [[ "www.iou.com",“60" ], ["www.haha.com", "8080" ], [ "www.who.com", "66" ]]
B. [[ "http://www.iou.com:60/html/xyz.html" ], ["http://www.haha.com:8080" ], [ "http://www.who.com:66/xyz.html" ]]
C. [[ "www.iou.com:60" ], ["www.haha.com:8080" ], [ "www.who.com:66" ]]
D. 其他选项说法都不对
包含三个网站链接及端口号,应该提取出网站链接和端口号,然后保存为一个二维数组。
94、【单项选择】 以下为某单位财务收入表图片,使用UiBot如何快速生成图片表格相应的EXCEL文件?
A. 使用UiBot Mage AI的”图像表格识别“命令直接识别图片表格数据,即使图片既有文字又有表格也可以自动分开识别,再通过”提取表格结果至Excel“命令完成生成Excel文件操作
B. 使用UiBot Mage AI的”通用文字识别“命令将图片上的数据识别成文字,再根据排列规则将文字逐个写入Excel表格
C. 只能手动将数据录入到Excel表格
D. 使用UiBot Mage AI的”图像表格识别“命令直接识别图片表格数据,即使图片既有文字又有表格也可以自动分开识别,再通过循环遍历识别结果的方式,将表格数据写入Excel文件中
95、【单项选择】 以下为某运营商的营销数据表,现在想通过UiBot统计表中一共有几个地区,以下哪个方法是正确的?
A. 直接通过设置“获取行数”命令的参数既可以获取不同地区记录的行数
B. 首先将数据构建成数据表,再通过“数据筛选”命令筛选出“地区”重复的数据,筛选后的记录条数既是地区数量。
C. 首先将数据构建成数据表,再通过“数据表去重”命令去除“地区”重复的数据,去重后的记录条数既是地区数量。
D. 首先将数据构建成数据表,再通过“数据切片”命令将不同地区的数据统计出来。
96、【单项选择】 以下代码输出结果正确的是?
Dim x = 10
Do Until x=10
TracePrint(x)
Break
Loop
TracePrint(100)
A. 10 B. 10 100 C. 100 D. 100 10
Dim x = 10 ' 将变量 x 的值设置为 10
Do Until x = 10 ' 进入循环,只要 x 不等于 10,就执行循环内的语句
TracePrint(x) ' 输出变量 x 的值
Break ' 跳出循环
Loop
TracePrint(100) ' 输出 100
97、【单项选择】 以下代码运行的结果是?
dim x = [1,2,3,4,5,6,7,8,9,10]
For Each value In x
value = 0
Next
TracePrint(x)
A. [0] B. [1,2,3,4,5,6,7,8,9,10] C. 0 D. [0,0,0,0,0,0,0,0,0,0]
Dim x = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] ' 声明一个数组 x 并初始化为 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
For Each value In x ' 对数组 x 中的每个元素,依次赋值给变量 value,并进行循环迭代
value = 0 ' 在循环内部,将变量 value 的值设置为 0(注意:在 VBScript 中,这一行代码无效,在UB中也一样无实际作用)
Next
TracePrint(x) ' 输出数组 x 的值
98、【单项选择】 以下关于Python插件参数说法错误的是?
A. 复合类型在Python插件和UiBot之间都采用值传递的方式,而不是引用传递的方式
B. 可以把Python中的list, tuple或dict类型作为返回值,传回到UiBot
C. 可以把UiBot中的数组或者字典类型作为参数,传入Python插件中
D. 不可以把Python中的list传入UiBot中
Python 中的列表(list)可以传递给 UiBot。
99、【单项选择】 以下关于单元测试说法错误的是?
A. 单元测试块不管放置在流程块中的什么位置,都会被优先执行
B. 如果运行的是整个流程,流程块中的单元测试块将不会被执行
C. 单元测试块只有放置在流程块中的开始位置,才会被优先执行
D. 只有在运行单个流程块时,这个流程块中的单元测试块才会被执行
单元测试块只有在流程块中被调用时才会执行,且执行顺序是按照调用位置的先后顺序执行。
100、【单项选择】 以下是某企业的费用账单图片模板,我们要提取此类账单里面的购买方、销售方、账单序号及总计金额等字段,可以使用什么方法来实现?
A. 信息抽取 B. 通用多票据识别 C. 自定义模板识别 D. 通用文字识别
101、【单项选择】 使用INI格式的“删除小节”命令时,如果查找不到小节名,那么会出现的情况是?
A. 抛出异常 B. 不做任何事情 C. 删除所有小节 D. 删除最后一个小节
删除小节,删除 INI 配置文件下的指定小节
注意事项:
建议先判断该路径对应的文件是否存在,如果存在删除指定小节(存在则执行命令操作),不存在则会报错
102、【单项选择】 使用INI格式的“删除键”命令时,如果查找不到键名,则?
A. 查找其它小节同名键值并删除 B. 不做任何事情 C. 抛出异常 D. 删除该小节所有键值
删除键,删除 INI 配置文件下指定小节的指定键
103、【单项选择】 使用INI格式的“读键值”命令时,如果多个小节都存在这个键名,那么会出现的情况是?
A. 根据“小节名”属性查找
B. 读第一个查找到的键值
C. 读最后一个查找到的键值
D. 随机选取一个键值
104、【单项选择】 使用INI格式的“读键值”命令时,如果查找不到键名,那么会出现的情况是?
A. 抛出异常 B. 打出错误信息 C. 返回指定默认值 D. 退出程序
读键值,读取 INI 文件指定小节下的键值,
sDefault--当INI配置文件键名不存在时,返回的默认内容
105、【单项选择】 关于UiBot Creator使用Python插件的说法正确的是?
A. UiBot Creator安装后第一次使用时需要指定Python环境
B. 需要手动安装Python环境才能使用Python插件
C. UiBot Creator内置Python环境
D. UiBot Creator没有内置Python环境
106、【单项选择】 关于“获取文件或者文件夹列表”命令说法错误的是?
A. 该命令的输出值为数组
B. 可以获取指定目录中的文件和文件夹名
C. 当属性“路径”为空时,默认获取的是桌面的文件和文件夹名
D. 当属性“列表内容”为“文件”,则不会输出文件夹名
属性“路径”为空时,默认获取的是当前工作目录下的文件和文件夹名。
107、【单项选择】 关于辅助流程,下面说法正确的是?
A. 辅助流程结束之后,不会影响到主流程,但会影响到其他的辅助流程
B. 可以创建多个辅助流程,每个辅助流程执行一个独立的任务,就可以在固定的时间里面做更多的事情
C. 可以在主流程和辅助流程中同时命名一个a变量,不会产生冲突
D. 流程图中的某个流程块,可以同时隶属于主流程和辅助流程
108、【单项选择】 创建一个数组,以下正确的是?
A. ("cat", "dog", "tiger", 1234)
B. {"cat", "dog", "tiger", 1234}
C. {"name": "张三", "gender":"male"}
D. ["cat", "dog", "tiger", 1234]
109、【单项选择】 合并数组[[1,2],[3,4]] 与 [[5,6,7]],得到的结果是?
A. [[1,2],[3,4],[5,6,7]]
B. [[1,2,3,4,5,6,7]]
C. 不能合并
D. [[1,2,3,4],[5,6,7]]
110、【单项选择】 在UB语言中,以下哪些运算符是一元运算符?
A. + B. () C. D. Not
+
-
*
/
&
^
<
<=
加法 减法/求负 乘法 除法 连接字符串 求幂 小于 小于等于
>
>=
<>
=
And
or
Not
Mod
大于 大于等于 不相等 相等/赋值 逻辑与 逻辑或 逻辑非 取余数 在上述运算符中,
Not
是一元运算符、-
既可以用作一元运算符,也可以用作二元运算符,其他都是二元运算符。一元运算符只允许在右边出现一个元素(变量、常量、表达式或值),二元运算符只允许在左右两边同时出现两个元素。
111、【单项选择】 在UiBot中以下代码执行的结果是?
dim x = 100
/*
dim x = 10 //x = 1000
TracePrint(x)
*/
TracePrint(x*x)
A. 100 B. 1000 C. 10 D. 10000
注释中的代码不会被执行,当一行中存在
//
时,表示从这以后的内容都是注释。包含在/* */
中的内容,无论多少行,都视作注释。
112、【单项选择】 在UiBot中创建了一个命令库,如何给其他流程使用?
A. 其他选项说法都不对
B. 将命令库项目用压缩软件压缩后,发给其他同事使用UiBot导入即可使用
C. 直接将命令库项目复制到其他流程的@res下即可使用
D. 点击“发布”按钮,即可把命令库发布为一个独立的、以.zip为扩展名的文件,将该文件发给其他同事使用UiBot导入即可使用
113、【单项选择】 在UiBot中,关键字“Exit”的一般在什么情况下使用?
A. 退出流程时 B. 跳出循环时 C. 退出流程块时 D. 跳出条件判断语句时
关键字 "Exit" 在流程执行到该关键字时会立即退出整个流程。
114、【单项选择】 在子流程中,如果想把处理完成数据返回到主流程,以下哪种说法是正确的?
A. 可以在子流程中把需要返回的数据赋值给流程图变量,在主流程中即可通过该变量获取到数据
B. 可以在子流程中把需要返回的数据赋值给流程图变量,并且把流程图变量的方向设置为“输出”,在主流程中即可通过该变量获取到数据
C. 暂不支持子流程传递数据到主流程
D. 可以在子流程中把需要返回的数据赋值给流程图变量,并且把流程图变量的方向设置为“输入”,在主流程中即可通过该变量获取到数据
115、【单项选择】 在数据处理模块中JSON
A. 将JSON对象转换成数组
B. 将字符串转换成数组
C. 将字符串转换成JSON对象
D. 将JSON对象转换成字符串
116、【单项选择】 在数组["cat","dog","tiger",100]的第2位置添加一个元素"fish",得到的结果数组为?
A. ["cat","dog","fish","tiger",100]
B. ["cat","fish","dog","tiger",100]
C. ["cat","dog","tiger","fish",100]
D. ["cat","dog","tiger",100,"fish"]
117、【单项选择】 在源代码视图中,经常会看到以“#”开头的代码,以下说法正确的是?
A. 其他选项说法都不对
B. 说明这一行代码是非常重要且必不可少的
C. 就是普通的注释,该行代码没有任何作用
D. 可以简单的认为是一种特殊的注释,对流程的运行没有影响
可以简单地认为以 "#" 开头的代码是一种特殊的注释,对流程的运行没有影响。它通常用于给代码提供说明或标记,但不会被执行或产生任何实际效果。
118、【单项选择】 在用可视化视图编写流程时,我们可以通过拖拽的方式来使用UiBot提供的命令,那么在源代码视图中,这些命令是通过什么方式来表示的?
A. 通过文字描述 B. 命令的英文单词 C. 函数调用 D. 其他选项说法都不对
119、【单项选择】 如果在关闭UiBot时,不小心把UiBot Creator中的流程代码删除了,重新打开UiBot Creator后可以尝试以下哪种方法进行恢复?
A. 其他选项说法都不对
B. 使用调试功能进行恢复
C. 使用时间线功能进行恢复
D. 按“ctrl+z”键进行恢复
如果在关闭 UiBot 后不小心删除了流程代码,重新打开 UiBot Creator 后无法直接恢复删除的代码。建议在编写代码时经常进行备份,或者使用版本控制工具来管理代码。
在流程创造者中,通过集成著名的代码版本控制软件Git,提供了强大的版本控制手段: “时间线”。
120、【单项选择】 对下面的数据表依据"名称"进行升序排序,"名称"这一列的值分别为?
A. "可乐"、"橙汁"、"牛奶"、"雪碧"
B. "可乐"、"雪碧"、"橙汁"、"牛奶"
C. "橙汁"、"可乐"、"牛奶"、"雪碧"
D. "橙汁"、"雪碧"、"牛奶"、"可乐"
根据名称进行升序排序应该是先按照字母的顺序排列,再按照字母数量的多少排列。
121、【单项选择】 开发人员需要从学员成绩表中筛选出成绩大于95且小于100分的同学,那么在UiBot Creator数据表的条件筛选器中设置正确的是?
A. ② B. ③ C. ① D. ④
正确的设置应该是选择“条件”列,然后在“条件”列中输入“分数>95 and 分数<100”。
122、【单项选择】 开发人员需要从语句“我喜欢很多书籍,其中最喜欢是《三国演义》,其次是《红楼梦》。”中提取出书名,以下哪个正则表达式是正确的?
A. 《.*》 B. 《***.》 C. 《.?》 D. 《.*?》
123、【单项选择】 当删除并返回数组["cat","dog","tiger"]的第一个元素,赋值给结果,向调试窗口输出结果为?
A. ["cat","tiger"]
B. ["dog","tiger"]
C. "cat"
D. "dog"
124、【单项选择】 当我们在使用UiBot HTTP模块中的命令向服务器请求数据时,使用Get还是Post来进行请求说法正确的是?
A. Get与Post请求没有区别,只是名字不同
B. 使用哪个可根据自己的喜好自由选择
C. 需要根据所请求的目标服务器的响应机制要求来定
D. 只要请求地址写对了,用哪个都没有关系
通常来说,Get用于获取数据,Post用于提交数据或执行一些需要更改状态的操作。
125、【单项选择】 当我们想把文件保存在电脑桌面时,下列哪个命令可以获取桌面目录路径?
A. 获取临时文件夹路径B. 获取系统文件夹路径C. 获取用户文件夹路径D. 其他选项都不可以
在UiBot中,可以使用以下命令来获取桌面目录路径:
System.GetFolderPath(0) + "\Desktop"
这个命令会返回当前用户的桌面目录路径。其中,
System.GetFolderPath(0)
用于获取当前用户的个人文件夹路径,"\Desktop"
则表示在个人文件夹路径后添加桌面目录的相对路径。这样,通过拼接这两部分,就可以获取到桌面目录的完整路径。
126、【单项选择】 RPA软件最早起源于哪个行业?
RPA(Robotic Process Automation)软件最早起源于金融行业。金融机构在处理大量重复性、规则性的任务时,开始使用自动化技术来提高效率和减少错误。随着时间的推移,RPA技术逐渐应用于其他行业,如保险、医疗、零售等。
127、【单项选择】 我们都知道UiBot数据表模块可以对数据进行筛选,排序,合并等操作,那么处理完成后的数据如何保存到Excel文件中?
A. 将数据表转换为数组后,再通过Excel模块的”写入区域”命令将数组写入到Excel文件
B. 使用Excel模块的”写入区域”命令直接将数据表写入Excel文件
C. 数据表模块自带写入Excel功能
D. 通过”写入文件“命令即可将数据表保存到Excel文件
128、【单项选择】 抽取字符串"我的QQ是666666,手机号码是12345678910"中所有的数字,结果为?
A. ["666666","12345678910"]
B. 66666612345678910
C. "66666612345678910"
D. [66666612345678910]
129、【单项选择】 有一个二维数组 arrayRet = [["张三","李四", "王五"], [19, 20, 21]],我们如何将"李四"这个元素取出来?
A. arrayRet[0][1] B. arrayRet[0, 1] C. arrayRet[1, 2] D. arrayRet[1][2]
在二维数组中,可以使用两个索引来获取特定元素。第一个索引表示行号,第二个索引表示列号。对于给定的二维数组arrayRet,"李四"位于第一行(索引为0)的第二列(索引为1),所以正确的选项是arrayRet[0][1]。
130、【单项选择】有一个字典, dictRet = {"OrderNum": "100", "Name": "Lisa", "OrderAmount": 1000, "Acount": 2615.3}, 我们如何访问到"Lisa"这个数据值?
A. dictRet["Lisa"] B. dictRet["Name"] C. dictRet[2] D. dictRet[1][1]
在字典中,要获取某个键对应的值,应使用键作为索引来访问。
在给定的字典dictRet中,"Name"是一个键,对应的值是"Lisa"。因此,通过dictRet["Name"]可以获取到值"Lisa"。
131、【单项选择】 有如下两个表格,现在需要将“表1”和“表2”按照序号进行合并,以下方法正确的是?
A. 首先必须将”表2“按照序号从小到大进行排序,再把“表1”和“表2“构建成数据表,最后通过"合并数据表"命令完成合并
B. 只能通过循环遍历数组的方式进行合并
C. 首先将”表1“和”表2“构建成数据表,然后需要通过”数据表排序“命令将”表2“按照按照序号从小到大进行排序,最后通过"合并数据表"命令完成合并
D. 将“表1”和“表2“构建成数据表,再通过"合并数据表"命令完成合并
132、【单项选择】 某RPA项目部署方案中使用UiBot Commander发布任务,分配方式设置为”指定Worker“,若被指定的Worker为忙碌状态,则:
A. 等待当前任务执行结束后,开始执行新发布的任务
B. 任务发布失败
C. 自动分配到其他空闲的Worker执行任务
D. 中断当前正在执行的任务,开始执行新发布的任务
133、【单项选择】 某UiBot开发人员用C#
A. support B. license\en-us C. lib\uibot D. extend\DotNet
134、【单项选择】 某UiBot开发人员用Python编写了一个插件,现在需要在一个流程中进行调用,那么该插件文件应该放在UiBot安装目录下的哪个文件夹里面?
A. extend\python B. python37 C. license\en-us D. lib\uibot
无论是用哪种语言编写插件,都可以放在
extend
目录的相应路径中,例如Python插件放在extend/python
目录中,即可直接使用。
135、【单项选择】 某企业业务流程中,需要启动“微信”,并且等待它退出才能执行后续操作,下面哪种方式可以实现?
A. 插入“启动应用程序”命令,在“等待方式”属性中选择“等待应用程序执行到退出”
B. 插入“打开文件或网址”命令,在“等待方式”属性中选择“等待应用程序执行到退出”
C. 插入“打开文件或网址”命令,在“等待方式”属性中选择“等待应用程序准备好”
D. 插入“启动应用程序”命令,在“等待方式”属性中选择“等待应用程序准备好”
136、【单项选择】 某企业数据库中有“名单”和“电话”两个表格,现在已经通过UiBot数据表模块的“构建数据表”命令将它们构建成了两个数据表,接下来我们需要将这两个数据表进行合并,并实现下图中“通讯录”表格的效果,请问应该使用哪种连接方式?
A. 右连接 B. 外连接 C. 左连接 D. 内连接
137、【单项选择】 某公司业务人员需要对大量如下图片中的关键信息和业务系统中填写的字段进行比对,可以使用哪种AI能力?
A. 通用表格识别 B. 通用卡证识别 C. 通用文字识别 D. 通用多票据识别
138、【单项选择】 某公司财务人员每月需要处理大量的票据,包括增值税专票、火车票、出租车发票等,处理这些票据需要大量的时间且易出错,使用UiBot如何帮助财务人员完成工作?
A. 可以通过文字OCR识别票据上的文字,再进行数据处理
B. 可以通过MageAI的“通用多票据识别”相关命令,自动识别票据上的内容,再进行数据处理
C. 可以通过MageAI的“通用卡证识别”相关命令,自动识别票据上的内容,再进行数据处理
D. UiBot暂时没有处理票据的能力,需要借助第三方接口进行处理
139、【单项选择】 某开发者用Python开发了一个插件,现在想把该插件分享给其他平民开发者使用,最好的分享方式是:
A. 将插件的调用封装成一个子程序并进行共享
B. 直接共享插件源码
C. 在UiBot命令中心新增一个自定义插件并进行发布
D. 共享插件文件
140、【单项选择】 某快递公司系统在录入包裹信息的时候,经常会发现包裹地址描叙不全,比如缺少省份、行政区等信息,导致无法录入系统的情况,这时需要人工手动将地址信息补全为标准地址,这项工作耗时费力,使用UiBot帮助快递公司完成该项工作的最佳方法是?
A. 将包裹拍照上传到电脑->通过UiBot“图像文字识别”命令识别图片上的地址文本->使用“地址标准化”命令完成地址补全操作->人工将标准地址输入系统
B. 将包裹拍照上传到电脑->通过UiBot“图像文字识别”命令识别图片上的地址文本->通过键盘鼠标将标准地址录入系统
C. 手工在电脑上输入包裹信息->使用“地址标准化”命令完成地址补全操作->人工将标准地址录入系统
D. 将包裹拍照上传到电脑->通过UiBot“图像文字识别”命令识别图片上的地址文本->使用“地址标准化”命令完成地址补全操作->通过UiBot“键盘鼠标”相关命令将标准地址录入系统
141、【单项选择】 某流程在通过UiBot HTTP模块中的“Post”向远程服务器提交表单数据时发现,如果没有设置Cookies服务器返回错误信息,请问以下原因分析中正确的是?
A. 如果不设置Cookies UiBot会拒绝提交数据
B. 这个错误可能与Cookies无关
C. 任何请求之前都需要设置Cookies,既是Cookies不包含内容
D. 因为远程服务器需要从Cookies中获取用户登录信息,否则无法验证用户是否登录
142、【单项选择】 某流程需要获取京东手机商城的前五页中,价格大于1000且小于2000的手机文字描述和价格,并将数据保存到名为"千元机"的Excel表格中,以下步骤顺序正确的是?
①将抓取到的数据构建成数据表,并将表头设置为["文字","价格"]
②启动新的浏览器,并将"打开链接"设置为手机商城的网址
③使用"数据筛选"命令对数据表进行筛选,筛选条件设置为:"价格>1000 and 价格<2000"
④使用"数据抓取"工具抓取所需的文字和价格
⑤打开"千元机"Excel表格,将筛选结果转为数组,并使用"写入区域"命令将数组保存到表格中
A. ③⑤②④① B. ①⑤④③② C. ②④①③⑤ D. ③②⑤①④
143、【单项选择】 某用户的RPA项目中只包含一个Worker,用户方出于项目成本的考虑决定不采购Commander,你建议用户使用哪种授权类型的Worker?
A. 无人值守-绑定机器 B. 人机交互-绑定机器 C. 无人值守-浮动授权 D. 人机交互-浮动授权
144、【单项选择】 某用户的一个RPA流程实现了建设银行流水下载的业务场景功能,包含网银登录、流水查询、流水下载、安全退出四个关键操作步骤。考虑该流程的复用性,可通过哪种最佳的方式轻松将该流程共享给其他用户进行建行流水下载?
A. 公共模块 B. 命令库 C. 插件 D. 子程序
145、【单项选择】 某银行网上支付需要输入验证码,如图所示,该如何正确填入?
A. UiBot暂时没有处理验证码的能力
B. 可以通过MageAI的“屏幕验证码识别”相关命令,识别验证码上的内容,再结合界面元素自动化,将文本输入
C. 通过本地OCR识别验证码上的文本,再结合界面元素自动化,将文本输入
D. 可以通过界面操作的“文本”相关命令,获取验证码上的文本,再进行处理
146、【单项选择】 流程中需要识别增值税专业发票,应该使用以下哪个模块的命令?
A. 通用文字识别 B. 通用卡证识别 C. 通用多票据识别 D. 通用表格识别
147、【单项选择】 激活一台UiBot Worker Hub Community正确的说法是?
A. 只能通过向官方申请激活
B. 需要到Commander中进行激活,且需要绑定设备
C. 需要到Commander中进行激活,无需绑定设备
D. 直接通过账号密码激活即可
148、【单项选择】 用命令库的时候,鼠标移动到某条命令上面,会有一个浮窗说明命令的具体用法,那么该说明需要在哪里设置?
A. 在命令库中的子程序中设置
B. UiBot根据命令的内容自动生成
C. 在“发布库”对话框中设置
D. 在新建命令库的时候设置
149、【单项选择】 计次循环命令如下所示,循环从2开始到12结束,步长为2
以上命令输出调试信息month的值依次是:
A. 2,4,6,8,10 B. 1,2,3,4,5,6,7,8,9,10,11,12 C. 2,4,6,8,10,12 D. 2,3,4,5,6,7,8,9,10,11,12
150、【单项选择】 访问JSON对象中内容的正确方法为?
A. objJSON."姓名" B. objJSON["姓名"] C. objJSON.get("姓名") D. objJSON("姓名")
其中UiBot中的数组对应于JSON中的Array(中文通常也称为数组),UiBot中的字典对应于JSON中的Object(中文通常称为对象)
UiBot中的字典可以采用
objJSON["姓名"]
的方式,来使用其中相应元素的值,其结果为"张三"
,而字符串就不能使用这种方式来操作了。
151、【单项选择】 调试流程过程中,需要对某一行代码设置断点,设置断点的快捷键是?
A. F5 B. F3 C. Ctrl+F4 D. F4
我们知道,流程块包含了“可视化”和“源代码”两种视图,无论哪一种,都可以用以下的方式来添加和删除断点:
- 点击任意一行命令左边的空白位置,都可以添加断点。再次点击这个位置,可以删除这个断点。
- 选中一行命令,在菜单中选择“运行”->“设置/取消断点”,原先没有断点的,会加上断点;原先有断点的,会删掉这个断点。
- 选中一行命令,直接按热键F4,效果同上。
152、【单项选择】 集合命令中,其中一个集合为{1, "2"},另一个集合为{"1","2"},对这两个集合做Set
A. {1, "1"} B. {1, "1", "2"} C. {1, "2"} D. {"2"}
取交集,将交集返回为新的集合。命令原型: objSetRet = Set.Intersection(ObjSet,ObjSet1)
ObjSet:要操作的集合对象; ObjSet1:要对比交集的集合。
————————————
实践题共一题,30分,必须正确执行才能得分。
实践题是在网页上进行考试,没有防作弊限制。(实践题有许多,只说一个遇到的作为参考):
步骤一:使用来也【流程创造者】启动谷歌浏览器打开一个来也提供的网址。
步骤二:输入题目提供的用户名和密码进行登录。注意:有图片验证码。
步骤三:获取网页上的表格数据。注意:数据过多可以需要考虑翻页(下一页)情况。
步骤四:把获取的数据保存为一个excel放在指定的路径。
(实际操作中,会有许多细节处理需要注意,初学者会有一定难度)
注意事项:
1、流程中不得使用流程创造者中【界面操作】下的【图像】命令;
2、答题时请使用题目指定的账号密码登录考题指定系统,若使用他人账号密码登录将视为作弊行为;
3、流程开发过程中请做好容错,例如:验证码识别错误时进行重试、操作界面元素时先等待元素出现或者判断元素是否存在后再进行操作。阅卷过程中如果因为未做相关容错处理导致流程运行不稳定或出错将视为流程运行失败。
4、阅卷时以考生提交流程最终的运行结果作为是否合格的判定条件,流程运行失败或结果不正确视为不合格(得分为0);
5、考试系统为每位用户生成不同表格字段和顺序,截图仅供参考,答题以真实系统界面为准;
5、构建流程图时请不要使用【子流程】或【辅助流程】。
6、流程中如果有截图或者文件需要保存,请统一保存在目录“c:\exam_data\rpa\level2\”或者@res""下,不得保存在其他地方或者擅自新建文件夹保存。