深入浅出Automation Anywhere

时间:2022-11-10 08:26:19

Automation Anywhere是基于CLIENT-SERVER架构(control room和客户端),客户端主要是Bot Creator 和 BotRunner

主要构成:

1.WEBCR:就是control room,是用于管理用户,进程及其执行顺序的库

2.Bot Creator:开发机器人(Bots)

3.Bot Runner:部署,执行,管理开发好的机器人

业务分析:Process Maturity Model(PMM,流程成熟度模型)

基本步骤: 

       Automation Pipeline

          ↓

       Feasibility Analysis(可行性分析)

          ↓

       Complexity Analysis(复杂性分析)

          ↓

          ROI Analysis(投资回报率分析)

          ↓

       Automation Design

control room:

                                        当前用户

深入浅出Automation Anywhere

features pane各个选项:

Dashboard:提供task相关活动的一览信息 ,如已经完成/要执行/在执行/失败的task,repository的详细信息

Repository Manager:管理文件库(客户端上传的TaskBots/MetaBots/IQBots),安排/部署/执行task

Operating room:监控task,查看task记录和正在执行的task

User Management:管理用户权限/新建删除用户

Audit Trail:监控最近用户和管理员的操作

Task schedule:查看在运行的task或安排运行新task

security:管理role,权限之类

Clients:展示Bot Runner和Bot Creator,Client详细信息(Client状态,hostname,username之类)

Credential Manager:存储sqlserrver相关

App Management:Bot farm application

深入浅出Automation Anywhere

在客户端,点击new会显示弹窗,提示选择 smart recorder

                    web recorder

                    screen recorder

                    workbench

点击旁边record会显示下拉框,选择smart recorder/web recorder/screen recorder

smart recorder:

深入浅出Automation Anywhere

ps:如果是录制基于web的应用,需要ie9及以上版本

选择smart recorder录制后,生成代码都是object cloning,要成功运行要在最前面拖入Open Programe/File  选择刚才录制的路径 。

variable operation:先在右边 variable manager添加字段,拖入variable operation,specify Variable选择刚创建的字段,右面F2,选想存入的值,如Filedata Column,双击,输入数字,存入文件指定列的值。(暂时赋值)

screen recorder:

深入浅出Automation Anywhere

web recorder:

深入浅出Automation Anywhere

深入浅出Automation Anywhere

浏览器用的ie,缩放100%。点击web recorder-->输入目标网址-->获取table或data(鼠标停留在目标上会出现绿框)-->存入指定excel文件

demo:弹出提示框,内容为选中的单个信息:

web recorder-->输入网址-->extract data-->regular data-->Extract control value to a new variable(再起个变量名)。

保存后进入对应task editor,看右面variable manager会发现我们生成了一个新字段~,再在最后加message box,F2对应字段,

运行就可以实现了。

用于获取网页上的图片可以 web recorder-->输入网址-->extract data-->pattern data。

深入浅出Automation Anywhere

深入浅出Automation Anywhere

workbench:用于创建各种自己想要的功能

编辑界面左面有各种功能的界面叫做 Command library

task editor 界面右面有variable manager,里面的内容有两种:

深入浅出Automation Anywhere

深入浅出Automation Anywhere

深入浅出Automation Anywhere

循环alert一个Excel文件A2~B6内容:

variable manager-->add -->起名,选择read from excel file,选中range,分别输入A2,B6。

进入task editor,拖入loop,输入循环次数。loop里拖入message box,在中间text field F2,选择刚在variable manager创建的名,

然后弹出提示框,Row Value里F2,选counter,Culumn Value输入 1 (这个操作表示选中excel文件A列),

再同样操作Row Value里F2,选counter,Culumn Value输入 2,选中了A,B两列-->save-->run

cctr是在variable manager新建的参数,value为1,替换counter后,实现的效果是连续输出五次目标文件第一行数据

深入浅出Automation Anywhere

拖入variable operation ,左边F2选择cctr,右边F2选cctr  再输入 +1  实现for循环效果,在运行可以输出目标文件指定范围信息

深入浅出Automation Anywhere

再拖入if/else下的variable,输入条件

深入浅出Automation Anywhere

这样会导致在第二次的时候符合条件,多弹出一个提示框,可是我们只要五次就好了

试着加个continue(在loop分目录里)。。。

深入浅出Automation Anywhere

现在出现五次提示信息,可是除了设定的第二次,后面都是和第二次一样的提示信息(continue后直接走出循环-->End Loop)

深入浅出Automation Anywhere

把倒数第二行的 i++ 复制到continue上面,执行,完美~(循环五次,第二次是提示信息,第三次提示直接读取文件第三行)

深入浅出Automation Anywhere

然后把循环部分复制一下,改下条件和提示信息,发现也可以正确执行

深入浅出Automation Anywhere

再把第一个循环的后两部换成loop目录中的exit loop,运行到第四部后会跳出循环(一共提示四次)

深入浅出Automation Anywhere

将Exit Loop 右键,选择disable,拖入task下的Stop The Current Task,效果一样

---------------------------------------------------------------------------------------------------------------------------

新开一个task editor,在右面variable manager新建一个list,内容随意

先写个loop,中间加入message提示,最后拖入Variable Operation, 提示框内,左边那个选中你刚建的list名,下面输入一个

相对于list的地址(从一开始),右面输入想把目标位替换成的内容。

可是现在保存运行的话是看不到效果的,我们在下面把loop复制一遍过去,运行,可以看到内容被替换的效果

深入浅出Automation Anywhere

下面创建另一个list,内容从文件获取,把上图代码中List替换为Name可以正常执行

新建的list的名要和目标文件中的一致,文件中List名和内容要用 = 连起来,否则AA不识别

从文件获取list内容只支持txt格式文件,excel不要想了。

深入浅出Automation Anywhere

深入浅出Automation Anywhere

也可以建一个随机数List,有字符串,数字两种形式,数字的可以选择范围(甚至可以选择负数)

深入浅出Automation Anywhere

---------------------------------------------------------------------------------------------------------------------------------------------

在左边command library有个命令叫excel

注意一下这几个:

深入浅出Automation Anywhere

深入浅出Automation Anywhere

深入浅出Automation Anywhere

自动邮件:

深入浅出Automation Anywhere

-----------------------------------------------------------------------------------------------------------------------------------------------

txt文件内容写入excel:

new一个txt,内容写成这样:

深入浅出Automation Anywhere

拖入Read From CSV/TXT,选择文件位置,分隔符选逗号,Trim选第一个

深入浅出Automation Anywhere

若要显示粗数据,在循环里拖入MsgBox,F2,filedata-->column(1),column(2)选中txt两列数据

深入浅出Automation Anywhere

第二行:gotocell:从哪个位置开始录入

7-11:录入完一行之后,调整下一次/行开始录入的位置(B7开始,C7-->B8,C8-->..深入浅出Automation Anywhere

-------------------------------------------------------------------------------------------------------------------------------------------------------------

连DB:

深入浅出Automation Anywhere

点击Connection String的黑色按钮:

深入浅出Automation Anywhere

选择要用的db(我用的sqlserver)

深入浅出Automation Anywhere

然后输入sqlserver启动时显示的servername,选择验证方式,下面选Automationnew-->test-->ok

sqlserver基本语法:http://www.cnblogs.com/Brambling/p/6676087.html

然后在右边variable manager建和db表头一样的字段用来接数据,类型选value(name,age)

深入浅出Automation Anywhere

先写个简单的增加功能

深入浅出Automation Anywhere

prompt用来弹提示框,输入字段值

第四行要注意!这个insert语句第二行,由于在数据库中是字符串格式存储,

所以这里要用单引号括起来,否则会报错

深入浅出Automation Anywhere深入浅出Automation Anywhere

下面实现连续insert功能:

variable manager 加个字段,叫choice,值写yes

加个prompt,加 || 或判断

loop condition,若为yes继续执行,否则退出

深入浅出Automation Anywhere

---------------------------------------------------------------------------------------------------------------------------------------------------------------

String Operation:

STRING1为variable manager新建字段,value:ABCD 1234 EFGH

Before-After用于截取Before和After之间内容,数据输出在Prompt-Assignment(Clipboard也行)

深入浅出Automation Anywhere

Compare用于比较,一样输出TRUE,不一样输出FALSE

Find:用于看目标value里有没有要找的字符串,有,输出index(从1开始)如果输入的Start From(默认1)比index大,则会输出0

深入浅出Automation Anywhere

Join:预先在variable manager创建一个List,用喜欢的分隔符分隔,输出

深入浅出Automation Anywhere

Reverse:选中目标,倒着输出

Split:输出b,格式还是b,但内容是a的全部

深入浅出Automation Anywhere

Sub String:从1开始,假设value:ABCD,范围1,2;输出AB。围2,1;输出B。范围错误输出空白信息。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

PDF Integration:

拖入PDF Integration下的Extract From Field,选择一个PDF文件,点Add,会打开对应PDF

深入浅出Automation Anywhere

有text框的地方会有红色虚线,右键,add,里面的值就会被取到

深入浅出Automation Anywhere

如果要导出PDF中文字内容,可以这样操作,最后导出到一个txt文件

深入浅出Automation Anywhere

Merge Documents用于将多个PDF文件整合到一个PDF里

Split Document 用于把一个PDF分成多个

深入浅出Automation Anywhere

Encrypt Document:加密PDF文件,增加限制(禁止copy,打开需要密码,不让改,不让打开等等)

Decrypt Document:解密文件

---------------------------------------------------------------------------------------------------------------------------------------------------------------

FTP:

概念:

深入浅出Automation Anywhere

---------------------------------------------------------------------------------------------------------------------------------------------------------------

PGP:

加密/解密用

深入浅出Automation Anywhere

---------------------------------------------------------------------------------------------------------------------------------------------------------------

Error Handling:如果程序运行出错进行以下操作

深入浅出Automation Anywhere

需要Debug的时候,点这个

深入浅出Automation Anywhere

点完之后会多几个按钮并且多一个提示框

深入浅出Automation Anywhere

点add,按需要加,一般是error line number & error description

---------------------------------------------------------------------------------------------------------------------------------------------------------------

Manage Windows Controls :选择要打开的页面,选中对象,select action里选动作

深入浅出Automation Anywhere

上述操作下,下拉框内容是选不到的,但是可以用模拟键盘输入( Insert Keystrokes ):

深入浅出Automation Anywhere

深入浅出Automation Anywhere

---------------------------------------------------------------------------------------------------------------------------------------------------------------

以上所有写好的task,都可以放进 WORKFLOW 里根据 if / else 判断(vb/运行结果/执行状态)执行

WORKFLOW从start开始,其他每个端点都要以stop结束。

向文件写Log信息:

深入浅出Automation Anywhere

注意下面的 Encoding 

默认是ANSI,不影响程序正常运行,但是把ANSI改为UTF8后会导致执行失败(原因未知)

复制文件:

深入浅出Automation Anywhere

souce file 可以写至具体文件

destination写到目标文件夹即可,否则下面的overwrite会失效

深入浅出Automation Anywhere的更多相关文章

  1. VC++动态链接库(DLL)编程深入浅出(zz)

    VC++动态链接库(DLL)编程深入浅出(zz) 1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用 ...

  2. VC++动态链接库(DLL)编程深入浅出(转帖:基础班)

    1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了“无库-静 ...

  3. VC-基础:VC++动态链接库(DLL)编程深入浅出

    1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了“无库-静 ...

  4. 【深入浅出jQuery】源码浅析--整体架构

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  5. 【深入浅出jQuery】源码浅析2--奇技淫巧

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  6. 深入浅出Struts2+Spring+Hibernate框架

    一.深入浅出Struts2 什么是Struts2? struts2是一种基于MVC的轻量级的WEB应用框架.有了这个框架我们就可以在这个框架的基础上做起,这样就大大的提高了我们的开发效率和质量,为公司 ...

  7. DOM 事件深入浅出(二)

    在DOM事件深入浅出(一)中,我主要给大家讲解了不同DOM级别下的事件处理程序,同时介绍了事件冒泡和捕获的触发原理和方法.本文将继续介绍DOM事件中的知识点,主要侧重于DOM事件中Event对象的属性 ...

  8. DOM 事件深入浅出(一)

    在项目开发时,我们时常需要考虑用户在使用产品时产生的各种各样的交互事件,比如鼠标点击事件.敲击键盘事件等.这样的事件行为都是前端DOM事件的组成部分,不同的DOM事件会有不同的触发条件和触发效果.本文 ...

  9. 深入浅出node(2) 模块机制

    这部分主要总结深入浅出Node.js的第二章 一)CommonJs 1.1CommonJs模块定义 二)Node的模块实现 2.1模块分类 2.2 路径分析和文件定位 2.2.1 路径分析 2.2.2 ...

随机推荐

  1. Eclipse 安装svn插件及使用

    1 安装 参考:http://welcome66.iteye.com/blog/1845176 通过svn插件安装,地址: Links for 1.8.x Release: Eclipse updat ...

  2. JavaScript 变量生命周期

    变量在它声明时初始化. 局部变量在函数调用时创建,当函数执行完毕后销毁,这和为什么要使用闭包也有一点关系,当然这是另外的话题了. 全局变量在页面(当前页面)关闭后销毁.

  3. [DHCP服务]——DHCP详解

    DHCP:(Dynamic Host Configuration Protocol) 动态主机配置协议 1. DHCP是一个局域网的网络协议,采用UDP协议工作 2. DHCP作用 (1)主要应用在大 ...

  4. iOS 中的正则匹配(工具类方法)

    正则表达式 正则表达式是对字符串操作的一种逻辑公式, 用事先定义好的一些特定字符.及这些特定字符的组合, 组成一个"规则字符串", 这个"规则字符串"用来表达对 ...

  5. Windbg调试命令详解(2)

    转载注明>>  [作者:张佩][原文:http://blog.csdn.net/blog_index] 2. 符号与源码 符号与源码是调试过程中的重要因素,它们使得枯燥生硬的调试内容更容易 ...

  6. PHP常用函数归类【持续整理中......】

    一.PHP基础语法   变量,常量     严格区分大小写,但内置结构或关键字无所谓(echo)     命名:不能以数字,空格,.来开头,但是可以有汉字,eg:$变量="aa"; ...

  7. Java循环语句怎么用?经典排序算法见真知

    Java中循环语句的使用,莫过于在排序算法中使用得最为经典. 排序算法非常的多,不过大体可以分为两种: 一种是比较排序,主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等. 另一种是非 ...

  8. HDU 6345:子串查询(前缀和)

    子串查询 Time Limit: 3500/3000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Sub ...

  9. .netcore-FreeSql的使用-搭建context

    之前用netcore搭建了一个小项目,数据库操作用的是要手写sql语句的connection和command,一直想调个EFCore或者类似SOA那样的框架 今天看到了DotNet公众号提到的.NET ...

  10. 从C# 2.0新特性到C# 3.5新特性

    一.C# 2.0 新特性: 1.泛型 List<MyObject> obj_list=new List(); obj_list.Add(new MyObject()); 2.部分类(par ...