CN110362490A - 融合iOS与Android移动应用的自动化测试方法及*** - Google Patents

融合iOS与Android移动应用的自动化测试方法及*** Download PDF

Info

Publication number
CN110362490A
CN110362490A CN201910639171.1A CN201910639171A CN110362490A CN 110362490 A CN110362490 A CN 110362490A CN 201910639171 A CN201910639171 A CN 201910639171A CN 110362490 A CN110362490 A CN 110362490A
Authority
CN
China
Prior art keywords
test
ios
transaction
android
intelligent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910639171.1A
Other languages
English (en)
Other versions
CN110362490B (zh
Inventor
杨洋
潘丽丽
田燕红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201910639171.1A priority Critical patent/CN110362490B/zh
Publication of CN110362490A publication Critical patent/CN110362490A/zh
Application granted granted Critical
Publication of CN110362490B publication Critical patent/CN110362490B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种融合iOS与Android移动应用的自动化测试方法及***,包括:获取并安装iOS及Android版被测移动应用至相应的智能测试设备;智能测试设备通过USB线与自动化测试执行机连接;根据被测交易的交易名称、页面名称创建交易页面,并获取交易页面的页面元素、元素定位信息及类型,并定义元素处理方法;获取被测交易所用测试数据,并根据页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例;获取连接自动化测试执行机的智能测试设备的设备信息;根据设备信息配置测试用例在智能测试设备上的自动化测试执行方式;按照自动化测试执行方式将测试用例分别发送给相应操作***的智能测试设备进行测试。

Description

融合iOS与Android移动应用的自动化测试方法及***
技术领域
本发明涉及软件工程自动化测试领域,尤其涉及一种融合iOS与Android移动应用自动化测试的方法及***。
背景技术
随着共享经济、互联网金融及移动通信技术日新月异的飞速发展,智能手机承载着越来越多的移动生活客户端方便着人们的生活。自最早的手机浏览器GPRS(GeneralPacket Radio Service)上网,到3G、4G移动互联网时代,智能手机应用客户端逐渐取代浏览器成为了主流上网方式,而客户端的研发质量决定着市场及用户使用的体验。由于客户端属于应用软件范畴,针对当下两大主流智能手机操作***:iOS及Android,其在研发实现过程中存在着较大差异,因此在测试过程中均需保证测试的正确性及兼容性。
在传统的手工测试方式中,相同功能的客户端在测试过程中既要测试其在iOS操作***上的运行情况,也要测试其在Android操作***上的运行情况,且由于Android操作***涉及多种品牌的手机与平板电脑,各品牌设备的Android操作***也存在多种版本及多种改进,考虑到Android操作***的开源性,手工测试应用客户端不仅成本极高,同时在有限的项目周期内也很难做到全面覆盖。
此外,目前市场流行的移动应用自动化测试工具,要么只能支持一种操作***的应用测试,例如iOS-driver工具仅支持苹果设备,Robotium工具仅支持Android设备;要么虽同时支持两种设备,但需要不同的测试方法进行测试,测试人员学习使用成本较高,大大提升了应用程序的自动化测试成本,降低了其收益,同样不利于移动应用的质量守护工作。例如某些工具,虽然既支持苹果设备又支持Android设备,但苹果设备自动化测试案例需使用苹果设备的特定的XCode环境测试,无法与Android设备的测试案例在同一套环境下同时运行,且设计编写使用的技术与方法完全不同,测试人员需要学习两种语言来完成相应的自动化测试,投入产出比极低。
发明内容
为了提升移动应用自动化测试效能,降低多客户端类型、同一客户端类型多操作***、多机型的测试时间,提升兼容性测试效率,本发明实施例提出一种融合iOS与Android移动应用自动化测试的方法及***。通过该测试方法及***,测试人员可基于同一自动化测试工具,采用同一测试设计思路、代码组织形式及编写方法,在同一PC设备上串行或并行进行多客户端、多操作***、多机型应用程序的自动化测试工作。
一方面,本发明实施例提供了一种融合iOS与Android移动应用的自动化测试方法,所述方法包括:
获取并安装iOS版及Android版被测移动应用至相应的智能测试设备;其中,所述智能测试设备通过USB线与自动化测试执行机连接;
根据被测交易的交易名称、页面名称创建交易页面,并获取所有交易页面的页面元素、元素定位信息、元素类型,并定义元素处理方法;
获取被测交易所用测试数据,并根据所述页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例;
获取连接自动化测试执行机的智能测试设备的设备信息;
根据所述设备信息配置所述测试用例在智能测试设备上的自动化测试执行方式;
按照所述自动化测试执行方式将所述测试用例分别发送给相应操作***的智能测试设备,以进行自动化测试。
在一实施例中,在生成测试用例之前,所述方法还包括:根据被测交易的交易流程执行顺序对交易页面进行排列组合。
在一实施例中,获取被测交易所用测试数据,包括:
根据被测交易所用数据库信息从对应数据库中读取测试数据;和/或,
获取用户通过iOS操作***与Android操作***通用的自动化测试自定义数据库操作接口输入的测试数据。
在一实施例中,获取连接自动化测试执行机的智能测试设备的设备信息,包括:
利用ADB工具获取操作***为Android的智能测试设备的设备信息;
利用Idevice Installer工具获取操作***为iOS的智能测试设备的设备信息。
在一实施例中,所述方法还包括:获取自动化测试过程中iOS操作***智能测试设备的运行日志及Android操作***智能测试设备的运行日志。
另一方面,本发明实施例还提供了一种融合iOS与Android移动应用自动化测试***,所述***部署在自动化测试执行机上,包括:
被测应用获取单元,用于获取并安装iOS版及Android版被测移动应用至相应的智能测试设备;其中,所述智能测试设备通过USB线与自动化测试执行机连接;
交易页面创建单元,用于根据被测交易的交易名称、页面名称创建交易页面,并获取所有交易页面的页面元素、元素定位信息、元素类型,并定义元素处理方法;
测试用例生成单元,用于获取被测交易所用测试数据,并根据所述页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例;
设备信息获取单元,用于获取连接自动化测试执行机的智能测试设备的设备信息;
执行方式确定单元,用于根据所述设备信息配置所述测试用例在智能测试设备上的自动化测试执行方式;
测试单元,用于按照所述自动化测试执行方式将所述测试用例分别发送给相应操作***的智能测试设备,以进行自动化测试。
在一实施例中,在生成测试用例之前,所述交易页面创建单元还用于:根据被测交易的交易流程执行顺序对交易页面进行排列组合。
在一实施例中,所述测试用例生成单元获取被测交易所用测试数据的途径包括:
根据被测交易所用数据库信息从对应数据库中读取测试数据;和/或,
获取用户通过iOS操作***与Android操作***通用的自动化测试自定义数据库操作接口输入的测试数据。
在一实施例中,所述设备信息获取单元包括:
ADB工具组件,用于获取操作***为Android的智能测试设备的设备信息;
Idevice Installer工具组件,用于获取操作***为iOS的智能测试设备的设备信息。
在一实施例中,所述***还包括:日志获取单元,用于获取自动化测试过程中iOS操作***智能测试设备的运行日志及Android操作***智能测试设备的运行日志。
本发明具有以下显著优点:测试设计与操作***无关,抽象业务场景流程,以最贴近手工功能测试的自动化方式模拟测试设计与执行过程;测试人员编制自动化测试案例时,无需考虑iOS与Android操作***差异,使用一套案例程序设计方法、一套案例编写方法、一套案例执行方法即可完成多设备类型、多操作***、多机型的自动化测试工作;可扩展性与灵活性强,测试人员可根据移动应用程序特点在应用层扩展自定义测试方法,且无需考虑iOS与Android操作***差异,从而实现真正的移动应用多操作***融合测试。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的融合iOS与Android移动应用的自动化测试方法的流程示意图;
图2为本发明一实施例提供的融合iOS与Android移动应用自动化测试***的结构示意图;
图3为本发明另一实施例提供的测试工具的结构示意图;
图4为本发明另一实施例提供自动化测试工具的***结构图;
图5为本发明图4所示实施例中的应用层1内部结构图;
图6为本发明图4所示实施例中的服务层2内部结构图;
图7为本发明图4所示实施例中的核心层3内部结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明一实施例提供的融合iOS与Android移动应用的自动化测试方法的流程示意图。如图1所示,该方法主要包括以下步骤:
步骤11、获取并安装iOS版及Android版被测移动应用至相应的智能测试设备。其中,各智能测试设备分别通过USB线与自动化测试执行机连接。
步骤12、根据被测交易的交易名称、页面名称创建交易页面,并获取所有交易页面的页面元素、元素定位信息、元素类型,并定义元素处理方法。
步骤13、获取被测交易所用测试数据,并根据所述页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例。
步骤14、获取连接自动化测试执行机的智能测试设备的设备信息。
步骤15、根据所述设备信息配置所述测试用例在智能测试设备上的自动化测试执行方式。
步骤16、按照所述自动化测试执行方式将所述测试用例分别发送给相应操作***的智能测试设备,以进行自动化测试。
本发明实施例通过分别对iOS及Android底层特性的抽象及封装技术,使得测试人员可采用同一测试设计思路、代码组织形式及代码编写方法,在同一套工具体系内编写iOS与Android操作***不同类型、不同型号的客户端的自动化测试代码并执行,从而完成自动化功能测试与兼容性测试,提升测试效能,降低测试时间及成本。
通常地,在创建交易页面之后、生成测试用例之前,还可以根据被测交易的交易流程执行顺序对交易页面进行排列组合。
一般地,利用步骤13获取被测交易所用测试数据时,可以根据被测交易所用数据库信息从对应数据库中读取测试数据,和/或,获取用户通过iOS操作***与Android操作***通用的自动化测试自定义数据库操作接口输入的测试数据。
由于与自动化测试执行机所连接的智能测试设备既包括装有iOS操作***的移动设备,又包括装有Android操作***的移动设备,因此在获取设备信息时,需要利用ADB工具获取操作***为Android的智能测试设备的设备信息,利用IdeviceInstaller工具获取操作***为iOS的智能测试设备的设备信息。
在一实施例中,为了便于调试及维护测试脚本,在对移动应用进行自动化测试时,还需要获取自动化测试过程中iOS操作***智能测试设备的运行日志及Android操作***智能测试设备的运行日志。
本发明具有以下显著优点:测试设计与操作***无关,抽象业务场景流程,以最贴近手工功能测试的自动化方式模拟测试设计与执行过程;测试人员编制自动化测试案例时,无需考虑iOS与Android操作***差异,使用一套案例程序设计方法、一套案例编写方法、一套案例执行方法即可完成多设备类型、多操作***、多机型的自动化测试工作;可扩展性与灵活性强,测试人员可根据移动应用程序特点在应用层扩展自定义测试方法,且无需考虑iOS与Android操作***差异,从而实现真正的移动应用多操作***融合测试。
基于与图1所示的融合iOS与Android移动应用的自动化测试方法相同的发明构思,本申请实施例还提供了一种融合iOS与Android移动应用自动化测试相同,如下面实施例所述。由于该***解决问题的原理与图1中的自动化测试方法相似,因此该***的实施可以参见图1的自动化测试方法的实施,重复之处不再赘述。
在另一实施例中,本发明还提供了一种融合iOS与Android移动应用自动化测试***,其结构如图2所示,该***包括:被测应用获取单元10、交易页面创建单元20、测试用例生成单元30、设备信息获取单元40、执行方式确定单元及测试单元60。
其中,被测应用获取单元10用于获取并安装iOS版及Android版被测移动应用至相应的智能测试设备,智能测试设备通过USB线与自动化测试执行机连接。交易页面创建单元20用于根据被测交易的交易名称、页面名称创建交易页面,并获取所有交易页面的页面元素、元素定位信息、元素类型,并定义元素处理方法;测试用例生成单元30用于获取被测交易所用测试数据,并根据所述页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例;设备信息获取单元40用于获取连接自动化测试执行机的智能测试设备的设备信息;执行方式确定单元50用于根据所述设备信息配置所述测试用例在智能测试设备上的自动化测试执行方式;测试单元60用于按照所述自动化测试执行方式将所述测试用例分别发送给相应操作***的智能测试设备,以进行自动化测试。
在一实施例中,在创建交易页面之后、生成测试用例之前,交易页面创建单元20还会根据被测交易的交易流程执行顺序对交易页面进行排列组合。
在一实施例中,测试用例生成单元30获取被测交易所用测试数据的途径包括:根据被测交易所用数据库信息从对应数据库中读取测试数据;和/或,获取用户通过iOS操作***与Android操作***通用的自动化测试自定义数据库操作接口输入的测试数据。
在一实施例中,设备信息获取单元40包括一ADB工具组件及一Idevice Installer工具组件,ADB工具组件用于获取操作***为Android的智能测试设备的设备信息,IdeviceInstaller工具组件用于获取操作***为iOS的智能测试设备的设备信息。
在一实施例中,图2所示的***还包括一日志获取单元70(见图2中虚线框所示),用于获取自动化测试过程中iOS操作***智能测试设备的运行日志及Android操作***智能测试设备的运行日志。
为使本发明提供的技术方案更加清楚,本发明还提供了另一实施例来对本发明技术方案进一步说明。
图3示例性示出根据本发明实施例的测试工具的结构示意图,自动化测试工具部署运行主要分为两部分,分别为自动化测试工具所部署的执行设备及智能终端设备,两者采用USB方式连接。
其中,自动化测试执行设备是本发明实施例中的自动化测试工具部署的主要载体,可以为Mac电脑。由于运行于iOS操作***的自动化测试案例无法运行于Windows操作***,运行于Android操作***的自动化测试案例可运行于Mac OS操作***,而本发明主要部署的载体需要同时支持iOS及Android两种操作***的智能设备,因此,本发明采用苹果电脑作为自动化测试执行机。并且,本发明实施例中的自动化测试工具采用跨平台的Java程序实现,运行于操作***上的Java虚拟机中,因此该工具可运行于Mac OS操作***的自动化测试执行机(即苹果电脑)上,可同时与iOS、Android两种操作***的智能设备进行通信交互,支持所述智能设备上的应用获取所述自动化测试执行机上的自动化测试案例信息。
本发明实施例主要支持iOS与Android操作***的智能设备,包含iOS、不同版本Android操作***的智能手机、iPAD及Android Pad等,使用USB有线方式与自动化测试执行机相连接。智能测试设备安装待测客户端,通过模拟用户操作实现自动化测试。
图4示例性示出根据本发明实施例的融合iOS与Android移动应用自动化测试工具的***结构图,其主要由应用层1、服务层2及核心层3组成,其部署在作为自动化测试执行机的苹果电脑上。
其中,该工具的核心层3为服务层提供iOS与Android操作***的特性及交互机制,例如,核心层负责融合iOS与Android操作***的底层交互命令,提供模拟用户操作的方法及网络机制,为服务层2的辅助工具融合提供技术支撑。
服务层2为应用层提1供融合iOS与Android操作***特性的自动化测试辅助功能。例如,为应用层1提供数据库交互能力、融合iOS与Android操作***后的元素类型定义等辅助功能。
应用层1实现融合iOS与Android操作***的自动化测试案例及公共资产。例如,利用应用层1融合iOS与Android操作***的页面基础功能、业务场景流程基础功能,抽象iOS与Android操作***的公共操作方法,为自动化测试案例跨操作***的融合提供基础设施支撑。
图5示例性示出根据本发明实施例的应用层1的内部结构图。应用层1主要包括案例组件101、页面组件102、案例执行方式组件103、及数据处理组件104。
案例组件101是自动化测试案例的发起端,负责支持iOS与Android操作***自动化测试脚本的运行,并支持在双操作***、多机型、多客户端类型条件下混合使用。案例组件101通过调用页面组件102获取待测试交易的全部交易页面,通过创建如图6所示的全局配置组件202获取交易流程的执行顺序,交易流程的执行顺序用于对各个交易页面进行排列组合;通过调用案例执行方式组件103获取测试案例在多设备执行的串行或并行选项;通过调用数据处理组件104获取自动化测试案例所需测试数据;通过调用如图6所示的日志组件201获取自动化测试过程日志;通过调用如图6所示的异常处理组件204获取自动化测试异常处理信息。
一方面,页面组件102接到案例组件101的调用命令时,通过调用命令中所包含的交易名称、页面名称等信息创建交易页面,向案例组件101提供待测试交易的全部交易页面要素及操作方法,可以按照交易流程的执行顺序,对各个交易页面进行排列组合。另一方面,页面组件102在处理登录操作时,创建服务层2(见图6)的人机交互组件206,用于接收用户传入用户名与密码等信息,执行登录操作。此外,页面组件102还调用如图6所示的元素组件207,使其基于元素的XPath页面定位,创建交易待使用的元素对象,并提供页面元素的操作方法及公共处理方法,包含输入域传值、操作等待、按钮点击、单选钮选取、复选框勾选等简单操作,以及滑动手机屏幕、取屏幕坐标位置等复杂操作,无需区分iOS还是Android操作***。
案例执行方式组件103接到案例组件101下发的调用命令时,通过在案例组件101中创建全局配置组件对象,解析并获取服务层2的全局配置组件202的配置信息,包括操作***、案例名称等,负责向案例组件101提供同时支持iOS与Android操作***智能设备的串并行自动化测试案例运行方式;通过在案例组件101中创建辅助工具集组件对象,解析并获取服务层2的辅助工具集组件203的配置信息,获取连接自动化测试执行机的智能设备信息,包含设备ID、设备型号、操作***版本等内容,从而可支持在指定设备上跨操作***串行执行相同测试案例进行兼容性测试,以及并行执行指定测试案例,大幅提升了自动化测试的效能及兼容性测试的针对性。
数据处理组件104在接到案例组件101的调用命令时,调用服务层2的数据库组件205,完成对测试数据的增、删、改、查等操作,向案例组件101提供Excel格式的测试数据输入及XML格式的测试数据输入。
图6示例性示出本发明实施例的服务层2的内部组件结构。服务层2主要包括日志组件201、全局配置组件202、辅助工具集组件203、异常处理组件204、数据库组件205、人机交互组件206及元素组件207。
日志组件201接到案例组件101的调用命令时,在案例组件中创建日志组件对象,负责向案例组件101提供在iOS与Andriod操作***中运行自动化测试案例的运行日志,以及iOS与Android操作***的自动化测试自定义日志方法。并且,日志组件201还通过全局配置组件202分别调用iOS与Android日志方法,调试及维护脚本。
全局配置组件202接收案例执行方式组件103的调用命令,负责为应用层1的案例执行方式组件103提供iOS与Android操作***的配置管理,主要分为双操作***通用配置、iOS配置、Android配置三部分,对应用层1透明,主要用于服务层2、核心层3跨操作***融合配置使用。上述配置包括测试案例的串行、并行执行方式的配置、测试数据Excel、XML输入结构的配置等。全局配置组件202调用日志组件201,用于提供自动化测试案例的双操作***运行日志的配置管理。全局配置组件202调用辅助工具集组件203,用于提供自动化测试执行机与不同类型智能设备的配置管理。
辅助工具集组件203接到案例执行方式组件103的调用命令时,调用核心层3中的会话组件301与设备管理组件302,融合核心层3分别封装的idevice installer工具命令与ADB工具命令,为案例执行方式组件103提供统一操作形式的与测试设备交互调用方法。并且,辅助工具集组件203通过全局配置组件202的双操作***通用配置中的智能设备操作***配置项指定执行测试案例的操作***,参数包含双操作***、iOS操作***及Android操作***。
异常处理组件204接到案例组件101调用命令时,在案例组件中创建异常处理组件对象,负责提供iOS与Andriod自动化测试案例的异常处理,包括读写异常、逻辑异常等多个类型,分别提供iOS与Android操作***的自动化测试自定义异常方法,测试人员可通过全局配置组件202分别调用iOS与Android的异常处理机制,对测试脚本进行调试及维护。
数据库组件205接到数据处理组件104的调用命令时,根据库、SQL语句等参数,为应用层1的数据处理组件104提供iOS与Andriod自动化测试案例的测试数据以及操作方法,包括连接、***、更新、查询、删除、断开连接等操作,同时提供iOS与Android操作***通用的自动化测试自定义数据库操作接口,供测试人员编写案例使用。
人机交互组件206接到页面组件102的调用命令时,根据页面组件102传入的测试交易参数与操作***类型参数,识别交易类型,例如***登录、安全键盘输入等,并提供iOS或Android操作***的手势密码操作方法、安全键盘操作方法等功能。
元素组件207用于为应用层1的页面组件102提供iOS与Android操作***所需要的元素类型及位置,在交易页面对象中直接创建并实例化元素组件对象,包含下拉框、单选钮、复选框、按钮、输入域、安全控件等类型,可使用id、name、XPath等方法借助UIAutomation(iOS工具)与UIAutomator(Android工具)工具定位页面元素位置,从而无需区分操作***类型,直接使用元素对象的句柄即可完成自动化测试案例编写。
图7示例性示出本发明实施例的核心层3的内部组件结构。核心层3主要包括会话组件301、驱动组件303、设备管理组件302、ADB组件304及Idevice installer组件305。
会话组件301接收服务层2中辅助工具集组件203的命令,统一处理自动化测试案例运行中iOS与Android操作***的测试设备与自动化测试执行机(MAC电脑)的交互连接机制,该组件调用驱动组件303创建交互会话,iOS与Android自动化测试案例均可通过执行机操作脚本,使用USB线,通过设备ID、设备类型、设备序列号等参数输入连接并驱动测试设备,实施自动化测试工作。
设备管理组件302用于封装除驱动对应操作***测试设备命令之外的其他交互命令,调用ADB组件304获取Android操作***的信息,调用Idevice installer组件305获取iOS操作***的信息,这些信息包含设备型号、设备ID等内容,为服务层2中的辅助工具集组件203提供统一标准的功能命令集。
驱动(Driver)组件303用于向会话组件301提供iOS与Android操作***的交互方法,通过驱动Idevice installer工具命令与ADB(Android Debug Bridge)工具命令,该组件可根据配置的测试设备类型驱动测试案例分别在iOS与Android操作***上实施。
ADB(Android Debug Bridge)组件304用于集成Android操作***的驱动命令行,将所有自动化测试工具需执行的Android命令以接口的形式提供给设备管理组件302,由设备管理组件302调度执行。
Idevice installer组件305用于集成iOS操作***的驱动命令行,将所有自动化测试工具需执行的iOS命令以接口的形式提供给设备管理组件302,由设备管理组件302调度执行。
利用图4所示自动化测试工具完成自动化测试脚本的编制与运行时,主要按照以下步骤进行:
1.部署自动化测试工具至自动化测试执行机(MAC电脑)。在MAC电脑上部署本发明实施例提供的自动化测试工具,该自动化测试工具基于Java程序语言涉及,具有跨平台性,可同时支持Android与iOS操作***的智能设备完成自动化测试。
2.智能测试设备准备。获取Android版和iOS版被测移动应用,并将Android版被测移动应用安装在Android操作***的智能测试设备上,并将iOS版被测移动应用安装在iOS操作***的智能测试设备上,用USB线连接智能测试设备与自动化测试执行机。
3.测试案例脚本准备。该步骤主要涉及案例组件101通过页面组件102分别获取Android与iOS版被测移动应用的页面要素、操作方法、操作流程等内容。
4.测试数据准备。该步骤主要涉及案例组件101通过全局配置组件202与数据处理组件104查询获取被测交易的测试数据。
5.配置智能测试设备。该步骤主要涉及案例组件101通过全局配置组件202与案例执行方式组件103获取Android与iOS智能测试设备的信息,从而配置对应操作***的智能测试设备。
6.进行自动化测试。
为更加清楚地对本发明技术方案进行说明,下面给出使用利用本发明实施例提供的自动化测试工具在手机银行应用进行注册账户转账交易的自动化测试案例,具体说明如下:
(一)测试智能设备准备:
测试人员通过下载链接分别获取待测的iOS版与Android版手机银行应用客户端。其中,iOS版手机银行应用客户端需使用测试开发者证书进行测试客户端程序打包,Android版手机银行应用客户端直接使用apk格式程序即可。
(二)测试案例脚本准备:
1.元素组件207自注册账户转账交易各页面通过UIAutomation(iOS工具)或UIAutomator(Android工具)工具获取交易元素定位、类型及处理方法。
2.页面组件102接收案例组件101的调用指令,创建页面组件对象,自元素组件207获取交易测试页面、元素定位、元素类型,并定义元素处理方法,具体测试页面及元素类型、元素处理方法如下所示:
1)交易首页
(1)元素:注册账户转账(按钮)、境内汇款(按钮)、境外汇款(按钮)、语音转账(按钮)、更多功能(按钮)(交易页面展现)
(2)操作:注册账户转账、境内汇款、境外汇款、语音转账、更多功能
2)转账提交页面
(1)元素:收款账户(下拉框)、币种(下拉框)、转账金额(输入域)、付款账户(下拉框)、可用余额(回显文本)、下一步(按钮)、返回(按钮)(交易页面展现)
(2)操作:收款账户选择、币种选择、转账金额输入、付款账户选择、下一步、返回
3)确认页面
(1)元素:金额(回显文本)、确定(按钮)、取消(按钮)(交易页面展现)
(2)操作:确定、取消
4)验签页面
(1)元素:验签方式(下拉框)、密码(输入域)、确定(按钮)、取消(按钮)(交易页面展现)
(2)操作:验签方式选择、密码输入、确定、取消
5)成功页面
(1)元素:成功信息(回显文本)、返回(按钮)(交易页面展现)
(2)操作:返回
6)异常分支处理页面
(1)元素:异常信息(回显文本)、返回(按钮)(交易页面展现)
(2)操作:返回
(三)测试数据准备:
1.数据库组件205通过数据库名称、数据库地址、表、SQL语句等参数读取测试数据。
2.数据处理组件104调用数据组件配置测试数据。注册账户转账交易要求同一客户名下包含两个不同的注册账户,且账户状态正常,其中一个账户余额不为0。
(四)配置测试智能设备:
1.ADB组件304获取Android智能设备信息,包含设备ID、设备品牌、设备型号及设备类型等信息。
2.Idevice installer组件305获取iOS操作***的智能测试设备的设备信息,包含设备ID、设备品牌、设备型号及设备类型等信息。
3.设备管理组件302调用ADB组件304与Idevice installer组件305获取智能测试设备的设备信息。
4.全局配置组件202调用设备管理组件302配置自动化测试执行方式为并行执行指定测试案例。
5.辅助工具集组件203调用设备管理组件302配置自动化测试执行客户端类型为iOS与Android智能测试设备。
6.案例执行方式组件103调用全局配置组件302及辅助工具集组件203确定执行方式与客户端类型。
(五)自动化测试运行:
1.日志组件201打印iOS手机银行应用客户端与Android手机银行应用客户端的自动化测试日志。
2.异常处理组件204处理iOS手机银行应用客户端与Android手机银行应用客户端的自动化测试异常事件。
3.驱动组件303创建智能测试设备与自动化测试工具的会话,分别创建iOS智能测试设备会话与Android智能测试设备会话。
4.会话组件301分别处理iOS智能测试设备、Android智能测试设备与自动化测试工具的交互及通讯。
5.人机交互组件206使用手势密码或者安全键盘登录注册账户转账交易所属应用***。
6.案例组件101调用页面组件102、数据处理组件104、案例执行方式组件103分别于iOS智能测试设备与Android智能测试设备上执行注册账户转账自动化测试案例。
本发明实施例可同时支持iOS及Android操作***的移动设备,可串行在不同设备上自动化执行相同测试案例,进行兼容性测试,亦可并行在不同设备上自动化执行指定测试案例,大幅提升了测试效能。通过本发明实施例提供的自动化测试工具,不仅延长测试时间为7×24小时,同时一位测试人员可当多人使用,有效降低测试人力成本,提升研发测试比。
本发明具有以下显著优点:测试设计与操作***无关,抽象业务场景流程,以最贴近手工功能测试的自动化方式模拟测试设计与执行过程;测试人员编制自动化测试案例时,无需考虑iOS与Android操作***差异,使用一套案例程序设计方法、一套案例编写方法、一套案例执行方法即可完成多设备类型、多操作***、多机型的自动化测试工作;可扩展性与灵活性强,测试人员可根据移动应用程序特点在应用层扩展自定义测试方法,且无需考虑iOS与Android操作***差异,从而实现真正的移动应用多操作***融合测试。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种融合iOS与Android移动应用的自动化测试方法,其特征在于,所述方法包括:
获取并安装iOS版及Android版被测移动应用至相应的智能测试设备;其中,所述智能测试设备通过USB线与自动化测试执行机连接;
根据被测交易的交易名称、页面名称创建交易页面,并获取所有交易页面的页面元素、元素定位信息、元素类型,并定义元素处理方法;
获取被测交易所用测试数据,并根据所述页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例;
获取连接自动化测试执行机的智能测试设备的设备信息;
根据所述设备信息配置所述测试用例在智能测试设备上的自动化测试执行方式;
按照所述自动化测试执行方式将所述测试用例分别发送给相应操作***的智能测试设备,以进行自动化测试。
2.根据权利要求1所述的融合iOS与Android移动应用的自动化测试方法,其特征在于,在生成测试用例之前,所述方法还包括:根据被测交易的交易流程执行顺序对交易页面进行排列组合。
3.根据权利要求1所述的融合iOS与Android移动应用的自动化测试方法,其特征在于,获取被测交易所用测试数据,包括:
根据被测交易所用数据库信息从对应数据库中读取测试数据;和/或,
获取用户通过iOS操作***与Android操作***通用的自动化测试自定义数据库操作接口输入的测试数据。
4.根据权利要求1所述的融合iOS与Android移动应用的自动化测试方法,其特征在于,获取连接自动化测试执行机的智能测试设备的设备信息,包括:
利用ADB工具获取操作***为Android的智能测试设备的设备信息;
利用IdeviceInstaller工具获取操作***为iOS的智能测试设备的设备信息。
5.根据权利要求1所述的融合iOS与Android移动应用的自动化测试方法,其特征在于,所述方法还包括:获取自动化测试过程中iOS操作***智能测试设备的运行日志及Android操作***智能测试设备的运行日志。
6.一种融合iOS与Android移动应用自动化测试***,其特征在于,所述***部署在自动化测试执行机上,包括:
被测应用获取单元,用于获取并安装iOS版及Android版被测移动应用至相应的智能测试设备;其中,所述智能测试设备通过USB线与自动化测试执行机连接;
交易页面创建单元,用于根据被测交易的交易名称、页面名称创建交易页面,并获取所有交易页面的页面元素、元素定位信息、元素类型,并定义元素处理方法;
测试用例生成单元,用于获取被测交易所用测试数据,并根据所述页面元素、元素定位信息、元素类型、元素处理方法及测试数据生成测试用例;
设备信息获取单元,用于获取连接自动化测试执行机的智能测试设备的设备信息;
执行方式确定单元,用于根据所述设备信息配置所述测试用例在智能测试设备上的自动化测试执行方式;
测试单元,用于按照所述自动化测试执行方式将所述测试用例分别发送给相应操作***的智能测试设备,以进行自动化测试。
7.根据权利要求6所述的融合iOS与Android移动应用自动化测试***,其特征在于,在生成测试用例之前,所述交易页面创建单元还用于:根据被测交易的交易流程执行顺序对交易页面进行排列组合。
8.根据权利要求6所述的融合iOS与Android移动应用自动化测试***,其特征在于,所述测试用例生成单元获取被测交易所用测试数据的途径包括:
根据被测交易所用数据库信息从对应数据库中读取测试数据;和/或,
获取用户通过iOS操作***与Android操作***通用的自动化测试自定义数据库操作接口输入的测试数据。
9.根据权利要求6所述的融合iOS与Android移动应用自动化测试***,其特征在于,所述设备信息获取单元包括:
ADB工具组件,用于获取操作***为Android的智能测试设备的设备信息;
Idevice Installer工具组件,用于获取操作***为iOS的智能测试设备的设备信息。
10.根据权利要求6所述的融合iOS与Android移动应用自动化测试***,其特征在于,所述***还包括:日志获取单元,用于获取自动化测试过程中iOS操作***智能测试设备的运行日志及Android操作***智能测试设备的运行日志。
CN201910639171.1A 2019-07-16 2019-07-16 融合iOS与Android移动应用的自动化测试方法及*** Active CN110362490B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910639171.1A CN110362490B (zh) 2019-07-16 2019-07-16 融合iOS与Android移动应用的自动化测试方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910639171.1A CN110362490B (zh) 2019-07-16 2019-07-16 融合iOS与Android移动应用的自动化测试方法及***

Publications (2)

Publication Number Publication Date
CN110362490A true CN110362490A (zh) 2019-10-22
CN110362490B CN110362490B (zh) 2023-08-08

Family

ID=68219316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910639171.1A Active CN110362490B (zh) 2019-07-16 2019-07-16 融合iOS与Android移动应用的自动化测试方法及***

Country Status (1)

Country Link
CN (1) CN110362490B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444103A (zh) * 2020-03-31 2020-07-24 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备
CN111782189A (zh) * 2020-06-23 2020-10-16 广州市挖米科技有限责任公司 一种医疗***部署方法及装置
CN112579443A (zh) * 2020-12-08 2021-03-30 温氏食品集团股份有限公司 智慧测试机器人的自动化测试方法及平台
CN113518146A (zh) * 2021-09-14 2021-10-19 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN115687160A (zh) * 2022-12-30 2023-02-03 杭州兑吧网络科技有限公司 一种界面测试***、方法、设备集群

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106250307A (zh) * 2016-07-20 2016-12-21 福建省农村信用社联合社 一种银行手机应用自动化测试方法及***
US20170052877A1 (en) * 2015-08-20 2017-02-23 Ca, Inc. Generic test automation for graphical user interface (gui) applications
CN107451060A (zh) * 2017-08-01 2017-12-08 安徽善金科技股份有限公司 一种跨移动端自动化测试框架***
EP3333712A2 (en) * 2016-11-15 2018-06-13 Accenture Global Solutions Limited Simultaneous multi-platform testing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170052877A1 (en) * 2015-08-20 2017-02-23 Ca, Inc. Generic test automation for graphical user interface (gui) applications
CN106250307A (zh) * 2016-07-20 2016-12-21 福建省农村信用社联合社 一种银行手机应用自动化测试方法及***
EP3333712A2 (en) * 2016-11-15 2018-06-13 Accenture Global Solutions Limited Simultaneous multi-platform testing
CN107451060A (zh) * 2017-08-01 2017-12-08 安徽善金科技股份有限公司 一种跨移动端自动化测试框架***

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444103A (zh) * 2020-03-31 2020-07-24 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备
CN111444103B (zh) * 2020-03-31 2024-04-26 腾讯音乐娱乐科技(深圳)有限公司 一种Web页面自动化测试方法及相关设备
CN111782189A (zh) * 2020-06-23 2020-10-16 广州市挖米科技有限责任公司 一种医疗***部署方法及装置
CN111782189B (zh) * 2020-06-23 2024-03-22 广州市挖米科技有限责任公司 一种医疗***部署方法及装置
CN112579443A (zh) * 2020-12-08 2021-03-30 温氏食品集团股份有限公司 智慧测试机器人的自动化测试方法及平台
CN113518146A (zh) * 2021-09-14 2021-10-19 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN113518146B (zh) * 2021-09-14 2021-12-03 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN115687160A (zh) * 2022-12-30 2023-02-03 杭州兑吧网络科技有限公司 一种界面测试***、方法、设备集群

Also Published As

Publication number Publication date
CN110362490B (zh) 2023-08-08

Similar Documents

Publication Publication Date Title
CN110362490A (zh) 融合iOS与Android移动应用的自动化测试方法及***
Canfora et al. A wrapping approach for migrating legacy system interactive functionalities to service oriented architectures
US5873094A (en) Method and apparatus for automated conformance and enforcement of behavior in application processing systems
CN105487864B (zh) 代码自动生成的方法和装置
AU2016201389A1 (en) Method and system for process automation in computing
WO1996032675A9 (en) Automated enforcement of behavior in application program
CN105739987A (zh) 面向SOA的快速构建JavaWeb应用的***框架
WO2001082071A1 (en) Methods and systems for supporting and deploying distributed computing components
WO1994018629A1 (en) Model information control system
CN105893061A (zh) 应用程序开发方法及***
US8661356B2 (en) Time application having an intergrated check engine
CN104750603A (zh) 一种多核dsp软件仿真器及其物理层软件测试方法
US20210117313A1 (en) Language agnostic automation scripting tool
CN103152433B (zh) 一种分布式服务端的使用、交互和请求处理方法
CN109918338B (zh) 安全芯片操作***测试装置
Marchetto et al. From objects to services: toward a stepwise migration approach for Java applications
CN117215661A (zh) 一种事件处理的方法、装置以及存储介质
US20150350305A1 (en) Context-sensitive information retrieval
TWI414995B (zh) 開發及執行平台
CN111752840B (zh) 一种跨***的金融自助设备sp自动测试方法、设备及介质
CN105912463B (zh) 基于mp300设备的智能卡协议自动测试***和方法
Lano et al. Software design using Java 2
Thiruvathukal et al. Unit testing considered useful
Attaluri et al. Operation Jump Start: A CORDS integration prototype using DCE
Alpaev Applied MVC Patterns. A pattern language

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant