一种实现JavaApplet自动化操作的方法与流程

文档序号:24161305发布日期:2021-03-05 17:15阅读:395来源:国知局
一种实现JavaApplet自动化操作的方法与流程
一种实现java applet自动化操作的方法
技术领域
[0001]
本发明属于rpa自动化技术领域,具体涉及一种实现java applet自动化操作的方法。


背景技术:

[0002]
在进行业务流程自动化开发时,对于用java applet技术开发的系统,在目前业界没有相应的解决方案。因此,在其他能够自动化操作的系统或者平台工作完成之后,不能直接连接java applet系统进行自动化操作,导致rpa自动化流程断节,自动化操作无法继续的问题。


技术实现要素:

[0003]
本发明的目的在于提供一种实现java applet自动化操作的方法,以解决上述背景技术中提出的不能自动化操作java applet应用程序,以及java applet不能与其他自动化测试系统连接测试的问题。
[0004]
为实现上述目的,本发明提供如下技术方案:一种实现java applet自动化操作的方法,包括以下步骤:
[0005]
步骤一:编写一个udp server,定义界面元素对象结构,结构中包含元素所持有的句柄、在界面上的位置、元素类型数据;
[0006]
步骤二:通过java accessibility api编写java plugin,此java plugin主要通过jvm启动时装载;
[0007]
步骤三:编写native java bridge,用于jvm、操作系统、和自动化程序通信,通过hook技术挂载全局鼠标事件,当鼠标移动到指定java applet上时调用plugin,将java界面元素对象实例反射出来;
[0008]
步骤四:在native java bridge里面构造udp client,当java界面元素对象反射出来时将其序列化成与udp server约定好的同一数据类型,通过udp client发送到udp server;
[0009]
步骤五:在native java bridge里面构造绑定localhost的tcp server,server里通过连接win32动态库,加入鼠标点击、键盘输入功能,针对传入对象,封装成单独的动作,入参为序列化对象,如需要按下java applet中的某个按钮,通过序列化对象获取到元素在界面上的位置,将其位置做为参数传给鼠标的mouseevent事件并触发事件,即可完成自动化点击的操作;
[0010]
步骤六:将java plugin打包成jar形式,native java bridge打包成dll形式;
[0011]
步骤七:找到执行机器的jre安装目录,分别将编写好的jar和dll放置于jre的bin目录与ext目录下,重新启动java进程和java applet程序;
[0012]
步骤八:编写tcp client用以自动化操作通信,将其包装成针对于java applet界面元素的自动化动作导出方法供其他应用使用。
[0013]
优选的,通过上述步骤可以形成一个java applet的自动化操作应用框架,通过udp server可以将界面元素序列化保存,用以做为自动化操作的入参,通过引用tcp client可以将触发元素的点击、输入一系列操作,以及获取元素中显示内容从而实现自动化操作。
[0014]
优选的,所述步骤一中,udp server用以接收从native java bridge传过来的元素特征,可以使用python、c++、c#语言编写。
[0015]
优选的,所述步骤二中,java plugin使用java语言编写,在jvm启动时会通过class loader来装载。
[0016]
优选的,所述步骤四中,同一数据类型即在udp sever之中定义的json数据结构,发送到udp server以后可以根据自动化用例决定是否对元素特征进行保存以做为后续自动化操作的输入元素。
[0017]
优选的,所述步骤八中,tcp client可以采用python、c++、c#语言编写,保持传输数据结构的一致性,可以达到异构系统调用的目的。
[0018]
优选的,所述tcp client可以包含自动化操作用例,如点击java applet的某个按钮,获取界面元素上的一些内容,输入某些内容到java applet元素之中达到自动化操作的目的。
[0019]
与现有技术相比,本发明的有益效果是:
[0020]
1.本发明实现了用java applet技术开发的系统的自动化操作,搭建整体的自动平台,使各个系统之间能够自动化连接,代替了传统的手动操作,提高了工作效率;
[0021]
2.本发明提供了采集识别java applet元素的工具与对其自动化操作的方法,使得在业务流程自动化中人动java applet的操作得以使用程序进行实现,并且比传统人工操作更方便、高效。
附图说明
[0022]
图1为本发明的流程图;
[0023]
图2为本发明java applet元素生成特征描述的示意图;
[0024]
图3为本发明通过元素特征执行自动化操作的示意图。
具体实施方式
[0025]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]
首先对本文中涉及的技术名词给予解释如下:
[0027]
java applet:相当于一个应用程序,一般寄宿于ie等浏览器进程,使用java进行实现。
[0028]
jab:java access bridge是一项在microsoft windows dll中公开javaaccessibility api的技术,可以使实现java accessibility api的java应用程序和小程序对microsoft windows系统上的辅助技术可见。
applet元素之中达到自动化操作的目的。
[0047]
以登录一个java applet应用举例,需要输入账号密码登录:
[0048]
1)在java applet中选择账号、密码与登录按钮元素,对元素特征进行保存;
[0049]
2)配置好元素对应的输入内容,使用tcp client发送元素特征和输入方法输入账号和密码;
[0050]
3)native java bridge输入方法会调用jab去查找java applet上账号密码的坐标,通过移动鼠标点击此坐标,然后再通过键盘输入账号密码;
[0051]
4)同理找到登录按钮坐标,移动鼠标到此坐标,鼠标左键点击;
[0052]
5)登录完成。
[0053]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1