一种小程序自动化测试方法技术

技术编号:20362902 阅读:41 留言:0更新日期:2019-02-16 16:32
本发明专利技术公开了一种小程序自动化测试方法,通过手机里面的引擎和小程序通信,获取小程序当前页面元素,最后解析和过滤非当前页面元素,即获得当前界面的有效元素。通过PC端发送一条指令给手机里面的引擎,比如想要查找手机界面上的某个元素A,那么手机里面的引擎就会自动检索出来当前页面是否包含此元素A,从而可以实现小程序测试的自动化。由于可以通过PC将想要查找的元素发送给手机,因此可以查找任何需要的界面元素,从而可以实现测试的定制化。

【技术实现步骤摘要】
一种小程序自动化测试方法
本申请涉及测试工具和安卓手机微信小程序的控制
,尤其涉及一种小程序自动化测试方法。
技术介绍
微信小程序,简称小程序,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。现在的小程序测试可以通过腾讯的TBSStudio工具,但是该工具是封闭的,不能实现定制化和自动化。所以一套可以实现小程序自动化测试的方法十分有必要。
技术实现思路
针对现有技术的不足,本专利技术旨在提供一种小程序自动化测试方法,可以实现小程序测试的自动化、定制化。为了实现上述目的,本专利技术采用如下技术方案:一种小程序自动化测试方法,包括如下步骤:S1、将手机界面停留在微信小程序界面;S2、手机引擎扫描UNIXDomainSocket,获取与微信小程序的进程通信的端口,得到微信小程序的多个端口号;S3、手机引擎通过LocalSocket跨进程请求所有微信小程序的端口号,得到各端口号对应的页面详情,包括页面状态;S4、获取页面的所有DOM内容:手机引擎请求页面详情里面的websocket地址,请求该websocket地址得到当前页面的所有元素;S5、手机引擎过滤出隐藏的、内容空的页面元素、界面DOM非聚焦的状态以及非当前微信小程序的界面,得到当前界面的所有元素;S6、录制书写测试逻辑时记录所需要的当前界面的关键元素,在进行自动化测试的时候,通过PC端向手机引擎发送关键元素的查找指令,手机引擎在步骤S5中得到的当前界面的所有元素中查找该关键元素,如果找到则当前界面即为期望的结果,否则直接报告错误。进一步地,步骤S3中,所述页面状态包括页面的宽、高、显示、位置、websocket地址、描述。进一步地,步骤S4具体通过js执行。本专利技术的有益技术效果在于:本专利技术方法通过手机里面的引擎和小程序通信,获取小程序当前页面元素,最后解析和过滤非当前页面元素,即获得当前界面的有效元素。通过PC端发送一条指令给手机里面的引擎,比如想要查找手机界面上的某个元素A,那么手机里面的引擎就会自动检索出来当前页面是否包含此元素A,从而可以实现小程序测试的自动化。由于可以通过PC将想要查找的元素发送给手机,因此可以查找任何需要的界面元素,从而可以实现测试的定制化。本专利技术可以同时自动化测试小程序在不同的手机品牌和手机版本上的运行效果,大大节约了人力成本和时间,提高了测试的效率。附图说明图1为本专利技术实施例的方法原理示意图。具体实施方式以下将结合附图对本专利技术作进一步的描述,需要说明的是,以下实施例以本技术方案为前提,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围并不限于本实施例。如图1所示,一种小程序自动化测试方法,包括如下步骤:S1、将手机界面停留在微信小程序界面;S2、手机引擎扫描UNIXDomainSocket,获取与微信小程序的进程通信的端口,得到微信小程序的多个端口号;S3、手机引擎通过LocalSocket跨进程请求所有微信小程序的端口号,得到各端口号对应的页面详情,包括页面状态(宽、高、显示、位置、websocket地址、描述等)。S4、获取页面的所有DOM内容:手机引擎请求页面详情里面的websocket地址,请求该websocket地址得到当前页面的所有元素。具体通过js执行,得到执行的结果内容,包括页面所有元素,比如登陆界面的输入账号文本框、输入密码文本框、登陆按钮等。S5、手机引擎过滤出隐藏的、内容空的页面元素、界面DOM非聚焦的状态以及非当前微信小程序的界面,得到当前界面的所有元素;S6、录制书写测试逻辑时记录所需要的当前界面的关键元素,在进行自动化测试的时候,通过PC端向手机引擎发送关键元素的查找指令,手机引擎在步骤S5中得到的当前界面的所有元素中查找该关键元素,如果找到则当前界面即为期望的结果,否则直接报告错误。实施例1在本实施例中,所需要的自动化测试逻辑为:1、在登陆界面—记录登陆界面关键元素A2、选择输入账号—-记录输入账号文本框元素B3、然后输入密码—记录输入密码文本框元素C4、点击登陆按钮—记录登陆按钮元素D5、登陆成功界面—记录登陆成功界面关键元素E通过图1的方法流程,获取到先后顺序为A、B、C、D、E一个5个元素作为自动化测试的主线流程。这个流程就是实现自动化测试的主要逻辑。在自动化测试的过程中步骤:1、通过图1的流程先获取A元素,获取成功,计算A元素在屏幕的坐标,通过安卓uiautomator自动化测试框架对A元素进行点击和输入账号的操作。2、查找B、C元素和步骤1相同。3、查找D和步骤1一样,在执行的时候只做点击的操作。4、查找E和步骤1一样,在执行的时候只做验证,如果存在E元素说明整个自动化测试流程是通过的,也说明登陆是成功的。如果是失败,则说明中间存在问题,可以截图保留失败的信息。5、这样就可以同记录下来的主逻辑测试流程的脚本文件,实现自动化测试的。这样可以避免多人多设备的手动测试,一个人一个脚本文件录制,就可以实现单人对多设备的自动化执行测试。对于本领域的技术人员来说,可以根据以上的技术方案和构思,给出各种相应的改变和变形,而所有的这些改变和变形,都应该包括在本专利技术权利要求的保护范围之内。本文档来自技高网...

【技术保护点】
1.一种小程序自动化测试方法,其特征在于,包括如下步骤:S1、将手机界面停留在微信小程序界面;S2、手机引擎扫描UNIX Domain Socket,获取与微信小程序的进程通信的端口,得到微信小程序的多个端口号;S3、手机引擎通过LocalSocket跨进程请求所有微信小程序的端口号,得到各端口号对应的页面详情,包括页面状态;S4、获取页面的所有DOM内容:手机引擎请求页面详情里面的websocket地址,请求该websocket地址得到当前页面的所有元素;S5、手机引擎过滤出隐藏的、内容空的页面元素、界面DOM非聚焦的状态以及非当前微信小程序的界面,得到当前界面的所有元素;S6、录制书写测试逻辑时记录所需要的当前界面的关键元素,在进行自动化测试的时候,通过PC端向手机引擎发送关键元素的查找指令,手机引擎在步骤S5中得到的当前界面的所有元素中查找该关键元素,如果找到则当前界面即为期望的结果,否则直接报告错误。

【技术特征摘要】
1.一种小程序自动化测试方法,其特征在于,包括如下步骤:S1、将手机界面停留在微信小程序界面;S2、手机引擎扫描UNIXDomainSocket,获取与微信小程序的进程通信的端口,得到微信小程序的多个端口号;S3、手机引擎通过LocalSocket跨进程请求所有微信小程序的端口号,得到各端口号对应的页面详情,包括页面状态;S4、获取页面的所有DOM内容:手机引擎请求页面详情里面的websocket地址,请求该websocket地址得到当前页面的所有元素;S5、手机引擎过滤出隐藏的、内容空的页面元素、界面DOM非聚焦的状态...

【专利技术属性】
技术研发人员:蒋晓海王福涛
申请(专利权)人:北京云测信息技术有限公司
类型:发明
国别省市:北京,11

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

1