一种APP界面元素的连续点击方法、系统及存储介质技术方案

技术编号:31745775 阅读:19 留言:0更新日期:2022-01-05 16:25
本发明专利技术涉及一种APP界面元素的连续点击方法、系统及存储介质,方法包含以下步骤:在Appium客户端建立当前对话,连接安装有待测软件的终端;获取待测软件中界面的待点击元素的坐标;获取Appium客户端中当前对话的对话标识;构建带有所述坐标和所述对话标识的http请求;向所述Appium客户端连续发送所述http请求,实现连续点击所述待点击元素。本方法只需要构建一次http请求,http请求中包含了所述坐标和所述对话标识,然后连续发送该http请求,完成连续点击的指令。改变了传统方法构建多次http请求、发送多次http请求的工作方式,节省了每次调用都需要经由Robot Framework处理的耗时,同时使得连续点击的性能稳定,间隔时间短、波动小。波动小。波动小。

【技术实现步骤摘要】
一种APP界面元素的连续点击方法、系统及存储介质


[0001]本专利技术涉及测试领域,尤其涉及一种APP界面元素的连续点击方法、系统及存储介质。

技术介绍

[0002]Appium是全球范围内使用较广的APP开源自动化测试框架,在实际APP自动化测试工作中其一般配合开源自动化测试框架一起使用,Appium的核心一个是暴露REST API的WEB服务器,它接受来自客户端的连接,监听命令并在移动设备上执行,为框架提供Appium相关功能,其中就包括对元素进行点击的功能。现有的开源自动化测试框架一般为Robot Framework。现有技术一般是在Robot Framework里采用AppiumLibrary库及Appium客户端实现点击元素,进而实现对APP的某一元素连续点击,得到测试数据。
[0003]然而,在需要连续点击元素时,一般是发送请求采用连续调用Robot Framework的AppiumLibrary的Click Element方法连续调用其点击元素功能实现。这样的连续点击方法,每一次点击需要通过Click Element方法在Robot Framework里进行处理构建一次http请求,参考图1,其连续点击的间隔时间大,一般为200毫秒以上,同时相邻点击的间隔时间的波动范围大,甚至达到3000毫秒以上。
[0004]针对上述的现有技术存在的问题设计一种APP界面元素的连续点击方法、系统及存储介质是本专利技术研究的目的。

技术实现思路

[0005]针对上述现有技术存在的问题,本专利技术在于提供一种APP界面元素的连续点击方法、系统及存储介质,能够有效解决上述现有技术存在的问题。
[0006]本专利技术的技术方案是:
[0007]一种APP界面元素的连续点击方法,包含以下步骤:
[0008]在Appium客户端建立当前对话,连接安装有待测软件的终端;
[0009]获取待测软件中界面的待点击元素的坐标;
[0010]获取Appium客户端中当前对话的对话标识;
[0011]构建带有所述坐标和所述对话标识的http请求;
[0012]向所述Appium客户端连续发送所述http请求,实现连续点击所述待点击元素。
[0013]进一步地,所述连接安装有待测软件的终端之后,执行:
[0014]通过所述当前对话对所述终端发送打开指令从而打开所述待测软件。
[0015]进一步地,所述获取标识步骤包括:
[0016]使用Robot Framework调用AppiumLibrary的Get Appium SessionId方法获取所述Appium客户端里的所述当前对话的对话标识。
[0017]进一步地,通过Robot Framework调用RequestsLibrary的Post Request方法构造所述http请求。
[0018]进一步地,所述http请求的地址包含所述对话标识,所述http请求的请求体包含所述坐标。
[0019]进一步地,所述连续点击指令发送步骤包括:
[0020]使用Robot Framework创建自动化测试脚本;
[0021]自动化测试脚本连续发送所述http请求至所述Appium客户端,通过所述Appium客户端解析所述http请求得到相应的指令,所述Appium客户端发送所述指令至终端,进而实现连续点击所述待点击元素。
[0022]进一步地,所述获取坐标步骤中,通过调用所述Appium客户端的元素定位功能获取所述坐标。
[0023]一种APP界面元素的连续点击系统,基于Appium客户端,所述Appium客户端通信连接安装有待测软件的终端,所述待测软件包含待点击元素,所述系统包含以下模块:
[0024]连接模块,用于在Appium客户端建立当前对话,连接安装有待测软件的终端;
[0025]获取坐标模块,用于获取待测软件中界面的待点击元素的坐标;
[0026]获取标识模块,用于获取Appium客户端中当前对话的对话标识;
[0027]http请求构建模块,用于构建带有所述坐标和所述对话标识的http请求;连续点击指令发送模块,用于向所述Appium客户端连续发送所述http请求,实现连续点击所述待点击元素。
[0028]进一步地,所述连续点击指令发送模块包含:
[0029]脚本创建子模块,用于使用Robot Framework创建自动化测试脚本;
[0030]连接子模块,用于自动化测试脚本控制Appium客户端连接待测软件;
[0031]发送请求子模块,用于通过自动化测试脚本连续发送所述http请求至所述Appium客户端,通过所述Appium客户端解析所述http请求得到相应的指令,所述Appium客户端发送所述指令至终端,进而实现连续点击所述待点击元素。
[0032]一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述所述的一种APP界面元素的连续点击方法。
[0033]因此,本专利技术提供以下的效果和/或优点:
[0034]本专利技术实现了一种基于Appium的自动化测试过程对元素进行高效连续点击的方法,解决了原生功能无法满足高效连续点击的问题。现有技术要么修改被测对象的连续点击允许间隔时间,此方式需要修改被测对象的程序,增加了工作量,同时不能很好地仿真被测对象真实的连续点击允许时间间隔,要么对被测对象运行的系统做些操作,通过创建系统脚本再远程调用系统脚本,实现由系统脚本对被测对象进行连续点击,由于不同系统环境差异,此方式不稳定、不通用,同时由于系统权限的不同,比如没有写权限,导致此方式在某些系统情况下是无法实现的。因此本专利技术采用的技术手段为通用方式,解决了现有技术解决方案存在的通用性差、仿真性弱、稳定性不佳等问题。
[0035]本专利技术通过获取坐标和对话标识、构建相应的http请求,然后通过将请求多次发送至Appium客户端进而对终端上的待测软件进行点击,通过这样一整套完整的流程,实现了连续点击的方法。
[0036]本专利技术通过创建包含对话标识和坐标的http请求,通过自动测试脚本、将该http请求连续多次发送至Appium客户端,通过Appium客户端向终端发送连续多次点击指令。整
个过程只需要构建一次http请求,http请求中包含了所述坐标和所述对话标识,然后连续发送该http请求,完成连续点击的指令。改变了传统方法构建多次http请求、发送多次http请求的工作方式,节省了每次调用都需要经由Robot Framework处理的耗时,同时使得连续点击的性能稳定,间隔时间短、波动小。
[0037]本专利技术构建的http请求包含所述坐标和所述对话标识,只需要直接调用构建好的http请求,连续、多次发送该http请求。自动化测试脚本发出操作请求时自带对话标识为唯一标识,代表所打开的设备,Appium客户端会按照此对话标识把本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种APP界面元素的连续点击方法,其特征在于:包含以下步骤:在Appium客户端建立当前对话,连接安装有待测软件的终端;获取待测软件中界面的待点击元素的坐标;获取Appium客户端中当前对话的对话标识;构建带有所述坐标和所述对话标识的http请求;向所述Appium客户端连续发送所述http请求,实现连续点击所述待点击元素。2.根据权利要求1所述的一种APP界面元素的连续点击方法,其特征在于:所述连接安装有待测软件的终端之后,执行:通过所述当前对话对所述终端发送打开指令从而打开所述待测软件。3.根据权利要求1所述的一种APP界面元素的连续点击方法,其特征在于:所述获取标识步骤包括:使用Robot Framework调用AppiumLibrary的Get Appium SessionId方法获取所述Appium客户端里的所述当前对话的对话标识。4.根据权利要求1所述的一种APP界面元素的连续点击方法,其特征在于:通过Robot Framework调用RequestsLibrary的Post Request方法构造所述http请求。5.根据权利要求4所述的一种APP界面元素的连续点击方法,其特征在于:所述http请求的地址包含所述对话标识,所述http请求的请求体包含所述坐标。6.根据权利要求1所述的一种APP界面元素的连续点击方法,其特征在于:所述连续点击指令发送步骤包括:使用Robot Framework创建自动化测试脚本;自动化测试脚本连续发送所述http请求至所述Appium客户端,通过所述Appium客户端解析所述http请求得到相应的指令,所述Appium客...

【专利技术属性】
技术研发人员:王秋瑶
申请(专利权)人:厦门立林科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1