CN106250307A - 一种银行手机应用自动化测试方法及*** - Google Patents

一种银行手机应用自动化测试方法及*** Download PDF

Info

Publication number
CN106250307A
CN106250307A CN201610569989.7A CN201610569989A CN106250307A CN 106250307 A CN106250307 A CN 106250307A CN 201610569989 A CN201610569989 A CN 201610569989A CN 106250307 A CN106250307 A CN 106250307A
Authority
CN
China
Prior art keywords
cluster
automatic test
test
control
cell phone
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
CN201610569989.7A
Other languages
English (en)
Other versions
CN106250307B (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.)
FUJIAN RURAL CREDIT YONHAP
Original Assignee
FUJIAN RURAL CREDIT YONHAP
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 FUJIAN RURAL CREDIT YONHAP filed Critical FUJIAN RURAL CREDIT YONHAP
Priority to CN201610569989.7A priority Critical patent/CN106250307B/zh
Publication of CN106250307A publication Critical patent/CN106250307A/zh
Application granted granted Critical
Publication of CN106250307B publication Critical patent/CN106250307B/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/3604Software analysis for verifying properties of programs
    • 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

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)
  • Software Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明一种银行手机应用自动化测试方法,包括监听获取手机设备集群的手机信息,将手机信息发送给自动化测试服务器;上传银行移动应用APP安装包到自动化测试服务器,由手机适配器集群对接入的手机设备集群进行APP安装;编写Python自动化测试脚本,将编好的测试脚本上传给自动化测试服务器;从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,将测试任务下发给手机适配器集群,手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。本发明优点:可以适配不同平台的手机设备实现跨平台自动化测试,并对Appium无法识别的控件进行文本识别,实现银行手机应用的一站式自动化测试,提高整体测试效率。

Description

一种银行手机应用自动化测试方法及***
技术领域
本发明涉及银行移动应用测试领域,特别涉及一种银行手机应用自动化测试方法及***。
背景技术
随着移动通信技术和移动互联网技术的高速发展,基于Android和iOS的移动应用也得到了广泛的使用。银行针对移动互联网的发展,也在大力推广移动金融业务,以满足客户的移动业务办理需求,例如微信银行、手机银行、特色O2O应用等等。而目前移动操作***主要是由谷歌的Android***和苹果的iOS***组成,开源的Android***一方面由于支持的厂商越来越多,另一方面由于***的更新速度也较快,这导致应用开发商在发布应用前除了要进行功能测试,还需要进行大量的兼容性测试;苹果的iOS***虽然设备兼容性测试的量小一些,但不同的iOS版本也要进行相应的***兼容性测试。所以,目前银行移动应用在每次优化上线发布时,都需进行大量的测试。
当前,针对手机移动应用的测试,除了手工测试外,还有基于Android原生SDK的Monkey、Monkey Runner模拟事件流的测试,以及基于Instrumentation(Android 2.2+),UIA utomator(Android 4.3+)的各种Android测试方法和框架;苹果手机主要是基于UIAutomation的测试方法和框架。例如,公开号为104331373A,公布日为2015-02-04的中国发明专利公开了一种Monkey测试***及方法,该Monkey测试***可以通过不同测试前的设置来完成相应场景的自动化测试,以减轻手工测试强度。公开号为202334909U,公开日为2012-07-11的中国实用新型专利公开了一种通过图像对比实现自动化测试手机业务的***,该***主要通过截取手机实时图像与大量事先驻留的标准图片库进行比对,从而实现对用户手机业务的自动检测。公开号为103064782A,公开日为2013-04-24的中国发明专利公开了一种获取控件的方法及装置,具体公开了一种根据Java的反射机制获取Android手机控件,并进行自动化测试的方法及装置。但是,以上测试方式存在有以下缺陷:
1、现有的自动化测试方法只能单独测试Android设备,或者单独测试iOS设备,而无法同时支持对Android设备和iOS设备的测试,因此实际应用起来比较不方便;
2、现有的自动化测试方法在对控件进行识别时,只能识别常用的控件,而对于某些特殊非标准***控件(例如加密键盘等)则无法进行识别,只能靠人工手动去测试,这会降低测试速度;在进行图像比对时,则需要预先设置大量特定的场景图片库,这会大大增加实际的测试工作;
3、针对银行移动应用的测试场景,现有的测试方式无法与银行移动业务***进行实时联动,且无法进行大规模批量并发测试。
发明内容
本发明要解决的技术问题之一,在于提供一种银行手机应用自动化测试方法,通过该方法来实现对银行手机应用的自动化测试,提高测试效率。
本发明是这样实现技术问题之一的:一种银行手机应用自动化测试方法,所述方法包括如下步骤:
步骤1、手机适配器集群监听获取手机设备集群的手机信息,并通过局域网将手机信息发送给自动化测试服务器,自动化测试服务器将手机信息展示到管理终端上;
步骤2、通过管理终端上传银行移动应用APP安装包到自动化测试服务器,并下发安装指令给手机适配器集群,手机适配器集群对接入的手机设备集群进行APP安装;
步骤3、编写Python自动化测试脚本,并通过管理终端将编好的测试脚本上传给自动化测试服务器,其中,所述测试脚本由控件识别以及相应的控件操作组成;
步骤4、通过管理终端从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,并将测试任务下发给手机适配器集群,由手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。
进一步地,在所述步骤3中,所述控件识别具体包括如下步骤:
步骤A1、通过Appium获取和识别手机设备Android或iOS***的业务操作界面展示的所有控件;
步骤A2、对Appium无法识别的控件进行OCR文本识别;
其中,所述步骤A2具体包括:
步骤A21、截取手机设备当前屏幕图片并保存;
步骤A22、将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出要进行文本识别的控件图片,并对裁剪出的控件图片进行压缩处理;
步骤A23、手机适配器将压缩后的控件图片上传给自动化测试服务器,由自动化测试服务器将控件图片转发给文本识别服务器集群,并通过文本识别服务器集群对控件图片进行文本识别;
步骤A24、文本识别服务器集群将识别出的文本返回给自动化测试服务器,自动化测试服务器将识别出的文本转发给手机适配器。
进一步地,所述步骤4具体包括:
步骤41、通过管理终端向自动化测试服务器下发测试请求,并从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群;
步骤42、自动化测试服务器根据选择的Python自动化测试脚本和要进行测试的手机设备集群将测试任务下发给手机适配器集群;
步骤43、手机适配器集群接收到测试任务后,先通过Appium对接入的各手机设备进行控件识别,然后对Appium识别出的控件进行相应的控件操作;对于通过Appium无法识别的控件,则先对控件进行OCR文本识别,然后对识别出的控件文本进行相应的控件操作,从而完成对各手机设备的自动化测试;在测试过程中所产生的移动应用业务数据,则通过接入手机设备的专用无线网络传送给后台银行移动业务***;
步骤44、手机适配器集群将测试结果返回给自动化测试服务器,并由自动化测试服务器将测试结果展示到管理终端上。
进一步地,所述控件操作包括点击、输入、触摸、下拉选择以及双击操作。
进一步地,所述手机信息包括手机设备系列号、接入的手机适配器的***类型、手机设备的***类型以及手机设备的***版本。
本发明要解决的技术问题之二,在于提供一种银行手机应用自动化测试***,通过该***来实现对银行手机应用的自动化测试,提高测试效率。
本发明是这样实现技术问题之二的:一种银行手机应用自动化测试***,所述***包括手机信息获取模块、APP安装模块、脚本上传模块以及自动测试模块:
所述手机信息获取模块,用于手机适配器集群监听获取手机设备集群的手机信息,并通过局域网将手机信息发送给自动化测试服务器,自动化测试服务器将手机信息展示到管理终端上;
所述APP安装模块,用于通过管理终端上传银行移动应用APP安装包到自动化测试服务器,并下发安装指令给手机适配器集群,手机适配器集群对接入的手机设备集群进行APP安装;
所述脚本上传模块,用于编写Python自动化测试脚本,并通过管理终端将编好的测试脚本上传给自动化测试服务器,其中,所述测试脚本由控件识别以及相应的控件操作组成;
所述自动测试模块,用于通过管理终端从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,并将测试任务下发给手机适配器集群,由手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。
进一步地,所述控件识别具体包括Appium识别模块和OCR文本识别模块:
所述Appium识别模块,用于通过Appium获取和识别手机设备Android或iOS***的业务操作界面展示的所有控件;
所述OCR文本识别模块,用于对Appium无法识别的控件进行OCR文本识别;
其中,所述OCR文本识别模块具体包括:
图片截取单元,用于截取手机设备当前屏幕图片并保存;
图片裁剪单元,用于将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出要进行文本识别的控件图片,并对裁剪出的控件图片进行压缩处理;
文本识别单元,用于手机适配器将压缩后的控件图片上传给自动化测试服务器,由自动化测试服务器将控件图片转发给文本识别服务器集群,并通过文本识别服务器集群对控件图片进行文本识别;
文本转发单元,用于文本识别服务器集群将识别出的文本返回给自动化测试服务器,自动化测试服务器将识别出的文本转发给手机适配器。
进一步地,所述自动测试模块具体包括:
请求单元,用于通过管理终端向自动化测试服务器下发测试请求,并从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群;
任务下发单元,用于自动化测试服务器根据选择的Python自动化测试脚本和要进行测试的手机设备集群将测试任务下发给手机适配器集群;
测试单元,用于手机适配器集群接收到测试任务后,先通过Appium对接入的各手机设备进行控件识别,然后对Appium识别出的控件进行相应的控件操作;对于通过Appium无法识别的控件,则先对控件进行OCR文本识别,然后对识别出的控件文本进行相应的控件操作,从而完成对各手机设备的自动化测试;在测试过程中所产生的移动应用业务数据,则通过接入手机设备的专用无线网络传送给后台银行移动业务***;
结果显示单元,用于手机适配器集群将测试结果返回给自动化测试服务器,并由自动化测试服务器将测试结果展示到管理终端上。
进一步地,所述控件操作包括点击、输入、触摸、下拉选择以及双击操作。
进一步地,所述手机信息包括手机设备系列号、接入的手机适配器的***类型、手机设备的***类型以及手机设备的***版本。
本发明具有如下优点:1、引入了同时适用Android***和iOS***的手机适配器,可以适配不同平台的手机设备实现跨平台的自动化测试,统一了移动端的自动化测试工具,可以降低测试成本,并使测试更加方便;2、对Appium无法识别的控件引入了OCR文本识别技术,可以减少在控件无法识别时需要进行人工手动测试的时间,可以实现银行手机应用的一站式自动化测试服务,提高整体的测试效率;3、可以实现对手机设备集群(包括Android手机设备和iOS手机设备)进行银行移动应用APP批量并行安装以及进行批量并发测试,这可以大大提高实际测试速率,并降低整体的测试成本以及降低应用上线后可能发生的风险问题;且在测试的过程中,可以通过专用无线网络实现手机设备与银行移动业务***进行实时联动。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明需要使用到的硬件结构框图。
图2为本发明银行手机应用自动化测试方法的流程框图。
图3为本发明中加密键盘的识别示意图。
图4为本发明银行手机应用自动化测试***的结构框图。
图5为本发明中自动测试模块的结构框图。
图6为本发明进行控件识别的结构框图。
具体实施方式
具体实施例一:
请参照图1至图3所示,一种银行手机应用自动化测试方法,该方法需要提供至少一手机设备集群(Android手机设备集群或者iOS手机设备集群)、一手机适配器集群、一自动化测试服务器、一管理终端、一文本识别服务器集群以及一后台银行移动业务***,其中,手机设备集群通过USB接入到手机适配器集群,手机设备集群通过专用无线网络接入到后台银行移动业务***,手机适配器集群连接自动化测试服务器,自动化测试服务器连接文本识别服务器集群、管理终端和后台银行移动业务***。所述方法包括如下步骤:
步骤1、手机适配器集群监听获取手机设备集群的手机信息,并通过局域网(包括无线局域网或者有线局域网)将手机信息发送给自动化测试服务器,自动化测试服务器将手机信息展示到管理终端上;所述手机信息包括手机设备系列号、接入的手机适配器的***类型、手机设备的***类型以及手机设备的***版本。其中,手机适配器集群会定时监听USB连接手机设备集群(包括Android手机设备和iOS手机设备)的变化情况,Android手机设备监听的是“adb devices”信息,iOS手机设备监听的是“instruments–wdevices”信息,当监听到USB接入手机设备集群时,就通过adb或者instruments获取手机设备集群的手机信息。
步骤2、通过管理终端上传银行移动应用APP安装包到自动化测试服务器,并下发安装指令给手机适配器集群,由手机适配器集群对接入的手机设备集群进行APP批量安装;
步骤3、编写Python自动化测试脚本,并通过管理终端将编好的测试脚本上传给自动化测试服务器,其中,所述测试脚本由控件识别以及相应的控件操作组成;在该步骤3中,所述控件操作包括点击、输入、触摸、下拉选择以及双击操作;
所述控件识别具体包括如下步骤:
步骤A1、通过Appium获取和识别手机设备Android或iOS***的业务操作界面展示的所有控件;例如,可以通过Appium提供的Android、iOS控件统一的识别方式find_element_by_id、find_element_by_name、find_element_by_link_text、find_element_by_class_name、find_element_by_class_name、find_element_by_accessibility_id等获取常见的Android控件和iOS控件,其中,常见的Android控件包含:Image View、Button、TextView、WebView、List View、Image、Edit Text等;iOS控件包含:UIA Application、UIAWindow、UIA Keyboard、UIA Button、UIA Web View、UIA Scroll View、UIA Text Field、UIA Secure Text Field等。
步骤A2、对Appium无法识别的控件进行OCR文本识别;
其中,所述步骤A2具体包括:
步骤A21、截取手机设备当前屏幕图片并保存;
步骤A22、将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出要进行文本识别的控件图片,并对裁剪出的控件图片进行压缩处理;
步骤A23、手机适配器将压缩后的控件图片上传给自动化测试服务器,由自动化测试服务器将控件图片转发给文本识别服务器集群(在具体实施时,可以通过负载均衡设备来实现将控件图片分发给各文本识别服务器),并通过文本识别服务器集群对控件图片进行文本识别;
步骤A24、文本识别服务器集群将识别出的文本返回给自动化测试服务器,自动化测试服务器将识别出的文本转发给手机适配器。
请重点参照图3所示,下面以加密键盘为例来对特殊非标准控件的文本识别做进一步说明:
B1、截取手机设备的当前屏幕图片,并将当前屏幕图像保存到手机设备中;
B2、通过手机设备将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出加密键盘图片,并对裁剪出的加密键盘图片进行压缩处理;
B3、手机适配器将压缩后的加密键盘图片上传给自动化测试服务器,由自动化测试服务器将加密键盘图片转发给对应的OCR文本识别服务器,OCR文本识别服务器先识别出加密键盘的数字系列文本,得到带顺序的数字文本矩阵;
然后,建立各数字坐标的二维映射:
X = X ′ + a * w i d t h 3 , Y = Y ′ + b * h e i g h t 4 ,
其中,width为手机设备屏幕的宽度,height为加密键盘的高度,(X’,Y’)为加密键盘左上角第一个数字在整体手机设备屏幕的绝对坐标,a∈[0,1,2],b∈[0,1,2,3];
B4、根据各数字坐标(X,Y)进行相关的触摸操作,完成密码输入。
步骤4、通过管理终端从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,并将测试任务下发给手机适配器集群(在实施时,可以采用负载均衡设备来分发测试任务给各手机适配器),由手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。该步骤4具体包括:
步骤41、通过管理终端向自动化测试服务器下发测试请求,并从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群;
步骤42、自动化测试服务器根据选择的Python自动化测试脚本和要进行测试的手机设备集群将测试任务下发给手机适配器集群;
步骤43、手机适配器集群接收到测试任务后,先通过Appium对接入的各手机设备进行控件识别,然后对Appium识别出的控件进行相应的控件操作;对于通过Appium无法识别的控件,则先对控件进行OCR文本识别,然后对识别出的控件文本进行相应的控件操作,从而完成对各手机设备的自动化测试;同时,在测试过程中所产生的移动应用业务数据(例如App登陆、转账、汇款等业务数据),则通过接入手机设备的专用无线网络传送给后台银行移动业务***;
步骤44、手机适配器集群将测试结果返回给自动化测试服务器,并由自动化测试服务器将测试结果展示到管理终端上。
具体实施例二:
请参照图1、图3-6所示,一种银行手机应用自动化测试***,该***需要提供至少一手机设备集群(Android手机设备集群或者iOS手机设备集群)、一手机适配器集群、一自动化测试服务器、一管理终端、一文本识别服务器集群以及一后台银行移动业务***,其中,手机设备集群通过USB接入到手机适配器集群,手机设备集群通过专用无线网络接入到后台银行移动业务***,手机适配器集群连接自动化测试服务器,自动化测试服务器连接文本识别服务器集群、管理终端和后台银行移动业务***。所述***包括手机信息获取模块、APP安装模块、脚本上传模块以及自动测试模块:
所述手机信息获取模块,用于手机适配器集群监听获取手机设备集群的手机信息,并通过局域网(包括无线局域网或者有线局域网)将手机信息发送给自动化测试服务器,自动化测试服务器将手机信息展示到管理终端上;所述手机信息包括手机设备系列号、接入的手机适配器的***类型、手机设备的***类型以及手机设备的***版本。其中,手机适配器集群会定时监听USB连接手机设备集群(包括Android手机设备和iOS手机设备)的变化情况,Android手机设备监听的是“adb devices”信息,iOS手机设备监听的是“instruments–w devices”信息,当监听到USB接入手机设备集群时,就通过adb或者instruments获取手机设备集群的手机信息。
所述APP安装模块,用于通过管理终端上传银行移动应用APP安装包到自动化测试服务器,并下发安装指令给手机适配器集群,由手机适配器集群对接入的手机设备集群进行APP批量安装;
所述脚本上传模块,用于编写Python自动化测试脚本,并通过管理终端将编好的测试脚本上传给自动化测试服务器,其中,所述测试脚本由控件识别以及相应的控件操作组成;在该脚本上传模块中,所述控件操作包括点击、输入、触摸、下拉选择以及双击操作;
请重点参照图6所示,所述控件识别具体包括Appium识别模块和OCR文本识别模块:
所述Appium识别模块,用于通过Appium获取和识别手机设备Android或iOS***的业务操作界面展示的所有控件;例如,可以通过Appium提供的Android、iOS控件统一的识别方式find_element_by_id、find_element_by_name、find_element_by_link_text、find_element_by_class_name、find_element_by_class_name、find_element_by_accessibility_id等获取常见的Android控件和iOS控件,其中,常见的Android控件包含:ImageView、Button、Text View、Web View、List View、Image、Edit Text等;iOS控件包含:UIA Application、UIA Window、UIA Keyboard、UIA Button、UIAWeb View、UIA ScrollView、UIA Text Field、UIA Secure Text Field等。
所述OCR文本识别模块,用于对Appium无法识别的控件进行OCR文本识别;
其中,所述OCR文本识别模块具体包括:
图片截取单元,用于截取手机设备当前屏幕图片并保存;
图片裁剪单元,用于将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出要进行文本识别的控件图片,并对裁剪出的控件图片进行压缩处理;
文本识别单元,用于手机适配器将压缩后的控件图片上传给自动化测试服务器,由自动化测试服务器将控件图片转发给文本识别服务器集群(在具体实施时,可以通过负载均衡设备来实现将控件图片分发给各文本识别服务器),并通过文本识别服务器集群对控件图片进行文本识别;
文本转发单元,用于文本识别服务器集群将识别出的文本返回给自动化测试服务器,自动化测试服务器将识别出的文本转发给手机适配器。
请重点参照图3所示,下面以加密键盘为例来对特殊非标准控件的文本识别做进一步说明:
B1、截取手机设备的当前屏幕图片,并将当前屏幕图像保存到手机设备中;
B2、通过手机设备将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出加密键盘图片,并对裁剪出的加密键盘图片进行压缩处理;
B3、手机适配器将压缩后的加密键盘图片上传给自动化测试服务器,由自动化测试服务器将加密键盘图片转发给对应的OCR文本识别服务器,OCR文本识别服务器先识别出加密键盘的数字系列文本,得到带顺序的数字文本矩阵;
然后,建立各数字坐标的二维映射:
X = X ′ + a * w i d t h 3 , Y = Y ′ + b * h e i g h t 4 ,
其中,width为手机设备屏幕的宽度,height为加密键盘的高度,(X’,Y’)为加密键盘左上角第一个数字在整体手机设备屏幕的绝对坐标,a∈[0,1,2],b∈[0,1,2,3];
B4、根据各数字坐标(X,Y)进行相关的触摸操作,完成密码输入。
所述自动测试模块,用于通过管理终端从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,并将测试任务下发给手机适配器集群(在实施时,可以采用负载均衡设备来分发测试任务给各手机适配器),由手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。该自动测试模块具体包括:
请求单元,用于通过管理终端向自动化测试服务器下发测试请求,并从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群;
任务下发单元,用于自动化测试服务器根据选择的Python自动化测试脚本和要进行测试的手机设备集群将测试任务下发给手机适配器集群;
测试单元,用于手机适配器集群接收到测试任务后,先通过Appium对接入的各手机设备进行控件识别,然后对Appium识别出的控件进行相应的控件操作;对于通过Appium无法识别的控件,则先对控件进行OCR文本识别,然后对识别出的控件文本进行相应的控件操作,从而完成对各手机设备的自动化测试;同时,在测试过程中所产生的移动应用业务数据(例如App登陆、转账、汇款等业务数据),则通过接入手机设备的专用无线网络传送给后台银行移动业务***;
结果显示单元,用于手机适配器集群将测试结果返回给自动化测试服务器,并由自动化测试服务器将测试结果展示到管理终端上。
综上所述,本发明具有如下优点:1、引入了同时适用Android***和iOS***的手机适配器,可以适配不同平台的手机设备实现跨平台的自动化测试,统一了移动端的自动化测试工具,可以降低测试成本,并使测试更加方便;2、对Appium无法识别的控件引入了OCR文本识别技术,可以减少在控件无法识别时需要进行人工手动测试的时间,可以实现银行手机应用的一站式自动化测试服务,提高整体的测试效率;3、可以实现对手机设备集群(包括Android手机设备和iOS手机设备)进行银行移动应用APP批量并行安装以及进行批量并发测试,这可以大大提高实际测试速率,并降低整体的测试成本以及降低应用上线后可能发生的风险问题;且在测试的过程中,可以通过专用无线网络实现手机设备与银行移动业务***进行实时联动。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

Claims (10)

1.一种银行手机应用自动化测试方法,其特征在于:包括如下步骤:
步骤1、手机适配器集群监听获取手机设备集群的手机信息,并通过局域网将手机信息发送给自动化测试服务器,自动化测试服务器将手机信息展示到管理终端上;
步骤2、通过管理终端上传银行移动应用APP安装包到自动化测试服务器,并下发安装指令给手机适配器集群,手机适配器集群对接入的手机设备集群进行APP安装;
步骤3、编写Python自动化测试脚本,并通过管理终端将编好的测试脚本上传给自动化测试服务器,其中,所述测试脚本由控件识别以及相应的控件操作组成;
步骤4、通过管理终端从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,并将测试任务下发给手机适配器集群,由手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。
2.根据权利要求1所述的一种银行手机应用自动化测试方法,其特征在于:在所述步骤3中,所述控件识别具体包括如下步骤:
步骤A1、通过Appium获取和识别手机设备Android或iOS***的业务操作界面展示的所有控件;
步骤A2、对Appium无法识别的控件进行OCR文本识别;
其中,所述步骤A2具体包括:
步骤A21、截取手机设备当前屏幕图片并保存;
步骤A22、将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出要进行文本识别的控件图片,并对裁剪出的控件图片进行压缩处理;
步骤A23、手机适配器将压缩后的控件图片上传给自动化测试服务器,由自动化测试服务器将控件图片转发给文本识别服务器集群,并通过文本识别服务器集群对控件图片进行文本识别;
步骤A24、文本识别服务器集群将识别出的文本返回给自动化测试服务器,自动化测试服务器将识别出的文本转发给手机适配器。
3.根据权利要求2所述的一种银行手机应用自动化测试方法,其特征在于:所述步骤4具体包括:
步骤41、通过管理终端向自动化测试服务器下发测试请求,并从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群;
步骤42、自动化测试服务器根据选择的Python自动化测试脚本和要进行测试的手机设备集群将测试任务下发给手机适配器集群;
步骤43、手机适配器集群接收到测试任务后,先通过Appium对接入的各手机设备进行控件识别,然后对Appium识别出的控件进行相应的控件操作;对于通过Appium无法识别的控件,则先对控件进行OCR文本识别,然后对识别出的控件文本进行相应的控件操作,从而完成对各手机设备的自动化测试;在测试过程中所产生的移动应用业务数据,则通过接入手机设备的专用无线网络传送给后台银行移动业务***;
步骤44、手机适配器集群将测试结果返回给自动化测试服务器,并由自动化测试服务器将测试结果展示到管理终端上。
4.根据权利要求1所述的一种银行手机应用自动化测试方法,其特征在于:所述控件操作包括点击、输入、触摸、下拉选择以及双击操作。
5.根据权利要求1所述的一种银行手机应用自动化测试方法,其特征在于:所述手机信息包括手机设备系列号、接入的手机适配器的***类型、手机设备的***类型以及手机设备的***版本。
6.一种银行手机应用自动化测试***,其特征在于:所述***包括手机信息获取模块、APP安装模块、脚本上传模块以及自动测试模块:
所述手机信息获取模块,用于手机适配器集群监听获取手机设备集群的手机信息,并通过局域网将手机信息发送给自动化测试服务器,自动化测试服务器将手机信息展示到管理终端上;
所述APP安装模块,用于通过管理终端上传银行移动应用APP安装包到自动化测试服务器,并下发安装指令给手机适配器集群,手机适配器集群对接入的手机设备集群进行APP安装;
所述脚本上传模块,用于编写Python自动化测试脚本,并通过管理终端将编好的测试脚本上传给自动化测试服务器,其中,所述测试脚本由控件识别以及相应的控件操作组成;
所述自动测试模块,用于通过管理终端从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群,并将测试任务下发给手机适配器集群,由手机适配器集群根据Python自动化测试脚本执行对手机设备集群的测试。
7.根据权利要求6所述的一种银行手机应用自动化测试***,其特征在于:所述控件识别具体包括Appium识别模块和OCR文本识别模块:
所述Appium识别模块,用于通过Appium获取和识别手机设备Android或iOS***的业务操作界面展示的所有控件;
所述OCR文本识别模块,用于对Appium无法识别的控件进行OCR文本识别;
其中,所述OCR文本识别模块具体包括:
图片截取单元,用于截取手机设备当前屏幕图片并保存;
图片裁剪单元,用于将截取的当前屏幕图片上传给手机适配器,由手机适配器从当前屏幕图片中裁剪出要进行文本识别的控件图片,并对裁剪出的控件图片进行压缩处理;
文本识别单元,用于手机适配器将压缩后的控件图片上传给自动化测试服务器,由自动化测试服务器将控件图片转发给文本识别服务器集群,并通过文本识别服务器集群对控件图片进行文本识别;
文本转发单元,用于文本识别服务器集群将识别出的文本返回给自动化测试服务器,自动化测试服务器将识别出的文本转发给手机适配器。
8.根据权利要求7所述的一种银行手机应用自动化测试***,其特征在于:所述自动测试模块具体包括:
请求单元,用于通过管理终端向自动化测试服务器下发测试请求,并从自动化测试服务器中选择Python自动化测试脚本和要测试的手机设备集群;
任务下发单元,用于自动化测试服务器根据选择的Python自动化测试脚本和要进行测试的手机设备集群将测试任务下发给手机适配器集群;
测试单元,用于手机适配器集群接收到测试任务后,先通过Appium对接入的各手机设备进行控件识别,然后对Appium识别出的控件进行相应的控件操作;对于通过Appium无法识别的控件,则先对控件进行OCR文本识别,然后对识别出的控件文本进行相应的控件操作,从而完成对各手机设备的自动化测试;在测试过程中所产生的移动应用业务数据,则通过接入手机设备的专用无线网络传送给后台银行移动业务***;
结果显示单元,用于手机适配器集群将测试结果返回给自动化测试服务器,并由自动化测试服务器将测试结果展示到管理终端上。
9.根据权利要求6所述的一种银行手机应用自动化测试***,其特征在于:所述控件操作包括点击、输入、触摸、下拉选择以及双击操作。
10.根据权利要求6所述的一种银行手机应用自动化测试***,其特征在于:所述手机信息包括手机设备系列号、接入的手机适配器的***类型、手机设备的***类型以及手机设备的***版本。
CN201610569989.7A 2016-07-20 2016-07-20 一种银行手机应用自动化测试方法及*** Active CN106250307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610569989.7A CN106250307B (zh) 2016-07-20 2016-07-20 一种银行手机应用自动化测试方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610569989.7A CN106250307B (zh) 2016-07-20 2016-07-20 一种银行手机应用自动化测试方法及***

Publications (2)

Publication Number Publication Date
CN106250307A true CN106250307A (zh) 2016-12-21
CN106250307B CN106250307B (zh) 2019-01-22

Family

ID=57613514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610569989.7A Active CN106250307B (zh) 2016-07-20 2016-07-20 一种银行手机应用自动化测试方法及***

Country Status (1)

Country Link
CN (1) CN106250307B (zh)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776344A (zh) * 2017-01-16 2017-05-31 上海聚宝网络科技股份有限公司 一种基于appium的智能快递柜的自动化测试方法
CN106991046A (zh) * 2017-03-24 2017-07-28 广州酷狗计算机科技有限公司 应用测试方法及装置
CN107451060A (zh) * 2017-08-01 2017-12-08 安徽善金科技股份有限公司 一种跨移动端自动化测试框架***
CN108205674A (zh) * 2017-12-22 2018-06-26 广州爱美互动网络科技有限公司 社交app的内容识别方法、电子设备、存储介质及***
CN108287789A (zh) * 2017-12-29 2018-07-17 五八有限公司 批量自动化测试方法、装置及电子设备
CN108388507A (zh) * 2018-01-24 2018-08-10 深圳市买买提信息科技有限公司 批量脚本测试方法及装置
CN108427636A (zh) * 2018-01-09 2018-08-21 阿里巴巴集团控股有限公司 应用的测试方法、***和电子设备
CN108509342A (zh) * 2018-04-04 2018-09-07 成都中云天下科技有限公司 一种精准快速的App自动化测试方法
CN108536586A (zh) * 2018-03-20 2018-09-14 中国工商银行股份有限公司 Android移动终端的信息获取方法、设备以及***
CN108536587A (zh) * 2018-03-21 2018-09-14 轻客智能科技(江苏)有限公司 一种基于Appium的自动化测试方法及***
CN108664364A (zh) * 2017-03-31 2018-10-16 腾讯科技(深圳)有限公司 一种终端测试方法及装置
CN109189682A (zh) * 2018-08-27 2019-01-11 广州云测信息技术有限公司 一种脚本录制方法和装置
CN109359031A (zh) * 2018-09-04 2019-02-19 中国平安人寿保险股份有限公司 多设备应用程序测试方法、装置、服务器及存储介质
CN109462491A (zh) * 2017-09-06 2019-03-12 北京京东尚科信息技术有限公司 用于测试服务器功能的***、方法和装置
CN110287122A (zh) * 2019-06-29 2019-09-27 广州华多网络科技有限公司 一种自动化测试方法、装置、终端和存储介质
CN110362490A (zh) * 2019-07-16 2019-10-22 中国工商银行股份有限公司 融合iOS与Android移动应用的自动化测试方法及***
WO2019210674A1 (zh) * 2018-05-03 2019-11-07 深圳市华夏双赢通信有限公司 模拟人工操作智能设备的方法、***和装置
CN110855501A (zh) * 2019-11-21 2020-02-28 广州西麦科技股份有限公司 一种用于中创中间件的批量发布***、方法及存储介质
CN111817916A (zh) * 2020-07-02 2020-10-23 浙江同花顺智能科技有限公司 基于移动终端集群的测试方法、装置、设备和存储介质
CN112468564A (zh) * 2020-11-20 2021-03-09 浙江百应科技有限公司 一种基于Appium实现终端APP UI自动化多机并行方法
CN113176959A (zh) * 2021-04-29 2021-07-27 上海云扩信息科技有限公司 一种通用的rpa手机自动化设计***
CN113518146A (zh) * 2021-09-14 2021-10-19 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN114448832A (zh) * 2022-02-08 2022-05-06 西南证券股份有限公司 一种用于证券线上交易平台的压力测试***
CN116166554A (zh) * 2023-02-24 2023-05-26 上海硬通网络科技有限公司 自动化测试***、方法及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044346A (en) * 1998-03-09 2000-03-28 Lucent Technologies Inc. System and method for operating a digital voice recognition processor with flash memory storage
CN103744784A (zh) * 2014-01-06 2014-04-23 ***(深圳)有限公司 手机应用自动化测试方法及***

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044346A (en) * 1998-03-09 2000-03-28 Lucent Technologies Inc. System and method for operating a digital voice recognition processor with flash memory storage
CN103744784A (zh) * 2014-01-06 2014-04-23 ***(深圳)有限公司 手机应用自动化测试方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋崇武 等: "面向嵌入式软件测试的仿真建模", 《计算机工程》 *

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106776344A (zh) * 2017-01-16 2017-05-31 上海聚宝网络科技股份有限公司 一种基于appium的智能快递柜的自动化测试方法
CN106991046A (zh) * 2017-03-24 2017-07-28 广州酷狗计算机科技有限公司 应用测试方法及装置
CN106991046B (zh) * 2017-03-24 2020-10-09 广州酷狗计算机科技有限公司 应用测试方法及装置
CN108664364A (zh) * 2017-03-31 2018-10-16 腾讯科技(深圳)有限公司 一种终端测试方法及装置
CN107451060A (zh) * 2017-08-01 2017-12-08 安徽善金科技股份有限公司 一种跨移动端自动化测试框架***
CN109462491A (zh) * 2017-09-06 2019-03-12 北京京东尚科信息技术有限公司 用于测试服务器功能的***、方法和装置
CN109462491B (zh) * 2017-09-06 2021-10-01 北京京东尚科信息技术有限公司 用于测试服务器功能的***、方法和装置
CN108205674A (zh) * 2017-12-22 2018-06-26 广州爱美互动网络科技有限公司 社交app的内容识别方法、电子设备、存储介质及***
CN108205674B (zh) * 2017-12-22 2022-04-15 广州爱美互动网络科技有限公司 社交app的内容识别方法、电子设备、存储介质及***
CN108287789A (zh) * 2017-12-29 2018-07-17 五八有限公司 批量自动化测试方法、装置及电子设备
CN108427636A (zh) * 2018-01-09 2018-08-21 阿里巴巴集团控股有限公司 应用的测试方法、***和电子设备
CN108388507A (zh) * 2018-01-24 2018-08-10 深圳市买买提信息科技有限公司 批量脚本测试方法及装置
CN108536586A (zh) * 2018-03-20 2018-09-14 中国工商银行股份有限公司 Android移动终端的信息获取方法、设备以及***
CN108536587A (zh) * 2018-03-21 2018-09-14 轻客智能科技(江苏)有限公司 一种基于Appium的自动化测试方法及***
CN108509342A (zh) * 2018-04-04 2018-09-07 成都中云天下科技有限公司 一种精准快速的App自动化测试方法
WO2019210674A1 (zh) * 2018-05-03 2019-11-07 深圳市华夏双赢通信有限公司 模拟人工操作智能设备的方法、***和装置
CN109189682A (zh) * 2018-08-27 2019-01-11 广州云测信息技术有限公司 一种脚本录制方法和装置
CN109359031A (zh) * 2018-09-04 2019-02-19 中国平安人寿保险股份有限公司 多设备应用程序测试方法、装置、服务器及存储介质
CN109359031B (zh) * 2018-09-04 2023-08-22 中国平安人寿保险股份有限公司 多设备应用程序测试方法、装置、服务器及存储介质
CN110287122A (zh) * 2019-06-29 2019-09-27 广州华多网络科技有限公司 一种自动化测试方法、装置、终端和存储介质
CN110287122B (zh) * 2019-06-29 2023-08-11 广州华多网络科技有限公司 一种自动化测试方法、装置、终端和存储介质
CN110362490B (zh) * 2019-07-16 2023-08-08 中国工商银行股份有限公司 融合iOS与Android移动应用的自动化测试方法及***
CN110362490A (zh) * 2019-07-16 2019-10-22 中国工商银行股份有限公司 融合iOS与Android移动应用的自动化测试方法及***
CN110855501A (zh) * 2019-11-21 2020-02-28 广州西麦科技股份有限公司 一种用于中创中间件的批量发布***、方法及存储介质
CN110855501B (zh) * 2019-11-21 2022-04-26 广州西麦科技股份有限公司 一种用于中创中间件的批量发布***、方法及存储介质
CN111817916A (zh) * 2020-07-02 2020-10-23 浙江同花顺智能科技有限公司 基于移动终端集群的测试方法、装置、设备和存储介质
CN112468564A (zh) * 2020-11-20 2021-03-09 浙江百应科技有限公司 一种基于Appium实现终端APP UI自动化多机并行方法
CN113176959A (zh) * 2021-04-29 2021-07-27 上海云扩信息科技有限公司 一种通用的rpa手机自动化设计***
CN113518146B (zh) * 2021-09-14 2021-12-03 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN113518146A (zh) * 2021-09-14 2021-10-19 云账户技术(天津)有限公司 一种移动终端信息的获取方法及装置
CN114448832A (zh) * 2022-02-08 2022-05-06 西南证券股份有限公司 一种用于证券线上交易平台的压力测试***
CN116166554A (zh) * 2023-02-24 2023-05-26 上海硬通网络科技有限公司 自动化测试***、方法及存储介质

Also Published As

Publication number Publication date
CN106250307B (zh) 2019-01-22

Similar Documents

Publication Publication Date Title
CN106250307A (zh) 一种银行手机应用自动化测试方法及***
CN110221962B (zh) 一种集中式软件测试管理***及方法
CN104572444B (zh) 一种游戏性能云测试平台及其测试方法
CN106598868B (zh) 对客户端的应用程序动态埋点的方法及***
CN102289373B (zh) 一种实现指标评价体系动态配置的方法
CN106021099A (zh) 实现智能终端ui自动化测试的***及方法
KR20180017198A (ko) 데이터 처리 방법, 장치, 시스템, 프로그램 및 컴퓨터 판독가능한 기록매체
CN103684874A (zh) 一种自动分配网上客服进行客户服务的方法和装置
CN104181873A (zh) 一种数字化的产品检测的实现方法、装置及***
CN1755645A (zh) 选择用于复验自动化的测试实例执行行为的***和方法
CN105487970A (zh) 一种界面展示方法及装置
CN107423223A (zh) 测试管理***
CN114138639A (zh) 机器人流程自动化的管理***及方法
CN111581067A (zh) 一种数据采集方法和装置
CN103379519B (zh) 一种基于智能手机的移动通信网络测试方法
CN110147941A (zh) 考核内容获取方法、员工评估方法及装置
CN206236144U (zh) 基于智能终端的电子报工***
CN108093075A (zh) 一种应用***灰度发布的实现方法
CN107808005A (zh) 人力资源数据的处理方法、装置及存储介质
CN107678965A (zh) 自动集成测试方法及***、服务终端、存储器
CN109375923B (zh) 变更数据处理方法、装置、存储介质、处理器及服务器
CN111626896A (zh) 一种建筑工程质量检测数据自动采集和信息管理***
CN106302011A (zh) 基于多端的测试方法及终端
CN111107569B (zh) 一种问题小区的筛选方法和装置
CN113742466A (zh) 一种针对客服机器人未解决问题的自动收集、解答、归档的方法

Legal Events

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