用户界面自动化测试方法及相关设备技术

技术编号:25270274 阅读:33 留言:0更新日期:2020-08-14 23:03
本申请涉及测试管理领域,尤其涉及一种用户界面自动化测试方法及相关设备,应用于第一电子设备,所述第一电子设备包括Appium和脚本执行单元,所述方法包括:所述脚本执行单元执行用户界面UI自动化测试脚本,以向所述Appium发送第一请求,所述第一请求用于请求获取第一自动化测试结果,所述第一自动化测试结果是执行第一测试用例得到的;在接收到所述第一请求之后,所述Appium启动Appium server;所述Appium通过所述Appium server获取所述第一测试用例;所述Appium通过所述Appium server执行所述第一测试用例,得到所述第一自动化测试结果;所述Appium将所述第一自动化测试结果发送至所述脚本执行单元。采用本申请实施例可减少对PC环境的依赖,提升UI自动化测试的速度。

【技术实现步骤摘要】
用户界面自动化测试方法及相关设备
本申请涉及电子
,尤其涉及一种用户界面自动化测试方法及相关设备。
技术介绍
目前业内主流的安卓用户界面(UserInterface,UI)自动化框架有Robotium、UIAutomator、Appium,三者均用于自动化测试领域,可对应用程序进行自动化测试。Robotium是一款面向安卓端的开源自动化测试框架,结合安卓自身提供的测试框架对应用程序进行自动化测试;UIAutomator是谷歌官方提供的安卓4.1以上版本自带的UI测试框架,不仅可对单个应用程序进行测试,还可对整个系统进行测试;Appium是一个开源测试自动化框架,可用于原生、混合和移动网页应用程序测试。Appium底层对安卓UI自动化操作调用的是UIAutomator,是在UIAutomator之上建立的自动化框架,能够支持跨语言跨平台(同时支持java、python多种语言),因此,Appium备受推广。目前,在基于Appium的自动化框架中进行UI自动化测试时,由于AppiumServer运行在PC端,UI自动化测试中的自动化测试脚本与安卓设备的UI自动化操作都需要经过个人电脑(personalcomputer,PC)端转发与反馈,过重依赖PC环境,导致UI自动化测试速度慢。
技术实现思路
本申请实施例提供一种用户界面自动化测试方法及相关设备,用于减少对PC环境的依赖,提升UI自动化测试的速度。第一方面,本申请实施例提供一种用户界面自动化测试方法,应用于第一电子设备,所述第一电子设备包括Appium和脚本执行单元,所述方法包括:所述脚本执行单元执行用户界面UI自动化测试脚本,以向所述Appium发送第一请求,所述第一请求用于请求获取第一自动化测试结果,所述第一自动化测试结果是执行第一测试用例得到的;在接收到所述第一请求之后,所述Appium启动Appiumserver;所述Appium通过所述Appiumserver获取所述第一测试用例;所述Appium通过所述Appiumserver执行所述第一测试用例,得到所述第一自动化测试结果;所述Appium将所述第一自动化测试结果发送至所述脚本执行单元。第二方面,本申请实施例提供一种用户界面自动化测试装置,应用于第一电子设备,所述第一电子设备包括Appium和和脚本执行单元,所述装置包括:所述脚本执行单元,用于执行用户界面UI自动化测试脚本,以向所述Appium发送第一请求,所述第一请求用于请求第一获取自动化测试结果,所述第一自动化测试结果是执行第一测试用例得到的;所述Appium,用于在接收到所述第一请求之后,启动Appiumserver;通过所述Appiumserver获取所述第一测试用例;通过所述Appiumserver执行所述第一测试用例,得到所述第一自动化测试结果;将所述第一自动化测试结果发送至所述脚本执行单元。第三方面,本申请实施例提供一种第一电子设备,该电子设备包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行如本申请实施例第一方面所述的方法中所描述的部分或全部步骤的指令。第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质用于存储计算机程序,其中,上述计算机程序被处理器执行,以实现如本申请实施例第一方面所述的方法中所描述的部分或全部步骤。可以看出,在本申请实施例中,第一电子设备包括Appium和脚本执行单元,该脚本执行单元执行UI自动化测试脚本,以向该Appium发送第一请求,该第一请求用于请求获取自动化测试结果;在接收到该第一请求之后,该Appium启动Appiumserver;该Appium通过该Appiumserver获取第一测试用例;该Appium通过该Appiumserver执行该第一测试用例,得到第一自动化测试结果;该Appium将该第一自动化测试结果发送至该脚本执行单元,由于该Appium安装在终端侧,UI自动化测试主要运行在终端侧,从而减少减少对PC环境的依赖,提升UI自动化测试的速度。本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1a是本申请实施例提供的一种网络架构图;图1b是本申请实施例提供的一种电子设备的结构示意图;图2是本申请实施例提供的一种用户界面自动化测试方法的流程交互图;图3是本申请实施例提供的一种用户界面自动化测试方法的流程示意图;图4是本申请实施例提供的一种第一电子设备的结构示意图;图5是本申请实施例提供的一种用户界面自动化测试装置的结构示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。以下分别进行详细说明。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。请参见图1a,图1a是本申请实施例提供的一种网络架构图。该网络由第一电子设备和第二电子设备组成。该第一电子设备上安装有脚本执行单元、Appium、中间件Bootstrap.jar和UIAutomator,该第二电子设备上存储有脚本启动命令和测试用例,该第二电子设备可以为PC端、IOS设备端、Android设备端,即运行不同操作系统的电子设备。请参见图1b,图1b是本申请实施例提供的一种电子设备的结构示意图,应用于上述的第一电子设备和第二电子设备。该电子设备可以包括各种具有无线通信功能的手持本文档来自技高网
...

【技术保护点】
1.一种用户界面自动化测试方法,其特征在于,应用于第一电子设备,所述第一电子设备包括Appium和脚本执行单元,所述方法包括:/n所述脚本执行单元执行用户界面UI自动化测试脚本,以向所述Appium发送第一请求,所述第一请求用于请求获取第一自动化测试结果,所述第一自动化测试结果是执行第一测试用例得到的;/n在接收到所述第一请求之后,所述Appium启动Appium server;/n所述Appium通过所述Appium server获取所述第一测试用例;/n所述Appium通过所述Appium server执行所述第一测试用例,得到所述第一自动化测试结果;/n所述Appium将所述第一自动化测试结果发送至所述脚本执行单元。/n

【技术特征摘要】
1.一种用户界面自动化测试方法,其特征在于,应用于第一电子设备,所述第一电子设备包括Appium和脚本执行单元,所述方法包括:
所述脚本执行单元执行用户界面UI自动化测试脚本,以向所述Appium发送第一请求,所述第一请求用于请求获取第一自动化测试结果,所述第一自动化测试结果是执行第一测试用例得到的;
在接收到所述第一请求之后,所述Appium启动Appiumserver;
所述Appium通过所述Appiumserver获取所述第一测试用例;
所述Appium通过所述Appiumserver执行所述第一测试用例,得到所述第一自动化测试结果;
所述Appium将所述第一自动化测试结果发送至所述脚本执行单元。


2.根据权利要求1所述的方法,其特征在于,所述脚本执行单元执行UI自动化测试脚本,以向所述Appium发送第一请求之前,所述方法还包括:
所述Appium开启第一服务,所述第一服务用于监听第一端口;
所述Appium通过所述第一端口接收所述第一请求。


3.根据权利要求2所述的方法,其特征在于,所述第一请求携带待测应用的标识,所述Appium通过所述Appiumserver获取所述第一测试用例,包括:
所述Appium向第二电子设备发送第二请求,所述第二请求用于请求获取测试用例,所述第二请求携带所述待测试应用的第一基础信息和所述第一电子设备的第二基础信息,所述第一基础信息是基于所述待测试应用的标识确定的;
所述Appium接收所述第二电子设备针对所述第二请求发送的所述第一测试用例,所述第一测试用例是基于所述第一基础信息和所述第二基础信息确定的。


4.根据权利要求3所述的方法,其特征在于,所述第一基础信息包括元素属性信息,所述Appium向第二电子设备发送第二请求之前,所述方法还包括:
所述Appium对所述待测试应用进行元素定位,得到所述元素属性信息。


5.根据权利要求4所述的方法,其特征在于,所述Appium对所述待测试应用进行元素定位,得到所述元素属性信息,包括以下至少一种:
所述Appium通过id对所述待测试应用进行元素定位,得到所述待测试应用的元素属性信息;
所述Appium通过class_name对所述待测试应用进行元素定位,得到所述待测试应用的元素属性信息;
所述Appium通过xpath对所述待测试应用进行元素定位,得到所述待测试应用的元素属性信息;
所述Appium通过text对所述待测试应用进行元素定位,得到所述待测试应用的元素属性信息;
所述Appium通过css_selector对所述待测试应用进行元素定位,得到所述待测试应用的元素属性信息;
所述Appium通过name对所述待测试应用进行元素定位,得...

【专利技术属性】
技术研发人员:陆福铿
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东;44

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

1