CN109684192B - 基于数据处理的本地测试方法、设备、存储介质及装置 - Google Patents

基于数据处理的本地测试方法、设备、存储介质及装置 Download PDF

Info

Publication number
CN109684192B
CN109684192B CN201810957609.6A CN201810957609A CN109684192B CN 109684192 B CN109684192 B CN 109684192B CN 201810957609 A CN201810957609 A CN 201810957609A CN 109684192 B CN109684192 B CN 109684192B
Authority
CN
China
Prior art keywords
code
matching
preset
browser
preset function
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.)
Active
Application number
CN201810957609.6A
Other languages
English (en)
Other versions
CN109684192A (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.)
Tianhang Changying Jiangsu Technology Co ltd
Original Assignee
Tianhang Changying Jiangsu Technology Co ltd
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 Tianhang Changying Jiangsu Technology Co ltd filed Critical Tianhang Changying Jiangsu Technology Co ltd
Priority to CN201810957609.6A priority Critical patent/CN109684192B/zh
Publication of CN109684192A publication Critical patent/CN109684192A/zh
Application granted granted Critical
Publication of CN109684192B publication Critical patent/CN109684192B/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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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

本发明公开了一种基于数据处理的本地测试方法、设备、存储介质及装置,该方法包括:获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器,获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码,通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试。本发明中,通过安装目标扩展的安装包的扩展浏览器,实现跳过所述预设功能代码中的原生方法代码,从而达到直接、方便和快捷地绕过原生方法代码进行回调逻辑的功能测试,前期测试不依赖原生方法代码,且无需对预设功能代码做任何更改,测试效率提升,减少问题的产生。

Description

基于数据处理的本地测试方法、设备、存储介质及装置
技术领域
本发明涉及代码测试的技术领域,尤其涉及一种基于数据处理的本地测试方法、设备、存储介质及装置。
背景技术
原生方法(Native)应用程序(Application,简称App)是一种基于智能手机本地操作系统并使用原生程式编写运行的第三方应用程序,也叫本地App,所述Native App使用的开发语言为计算机编程语言(JAVA)、计算机程序设计语言(The C++ProgrammingLanguage/c plus plus,简称C++)或扩充C的面向对象编程语言(Objective-C)。所述智能手机本地操作系统包括:苹果公司的移动操作系统(iOS)、谷歌(Google)公司开发的操作系统(Android)、微软手机操作系统(Windows Phone,简称WP)。
混合模式移动应用(Hybrid App)是一种用Native技术来搭建App的外壳,内部由万维网(Web)技术来提供的移动应用,是半Native半web开发模式。其底层功能的应用程序编程接口(Application Programming Interface,简称API)均由原生容器通过某种方式提供,业务逻辑由应用超文本标记语言的第五次重大修改(HTML5)页面完成,最终原生容器加载HTML5页面,完成整个App。Hybrid App同时使用网页语言与程序语言开发,但其总体特性更接近Native App,只是因为同时使用了web语言编码,开发成本比Native App要小很多。也因此,Hybrid App兼具了Native App良好交互体验的优势,以及Web App使用HTML5跨平台开发低成本的优势。
混合框架APP在开发前期的本地测试阶段,使用浏览器访问本地代码,如遇到依赖原生APP的功能(如拍照、语音等),浏览器无法支持,代码阻塞,无法执行到传给Native方法的入参回调函数,导致本地测试无法进行。现有的应对方法:方法一,手动注释依赖APP的功能代码,以便可继续测试后续纯HTML5功能,测试完毕还原代码,APP开发完成,Native与HTML5代码集成之后,测试APP功能;方法二,等待APP开发完成,将HTML5代码与APP集成之后,测试APP功能以及与Native功能相关的HTML5代码功能。
对于方法一,对代码进行修改以满足本地测试需要,导致开发效率低,且修改代码辅助测试增加了引入漏洞(BUG)的机率;对于方法二,需等待HTML5代码与APP集成之后再进行功能测试,问题修复的时机延后,压缩了测试时间,进行问题定位也需消耗更多时间。因此,如何更加高效地实现Native App的功能测试是亟待解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于数据处理的本地测试方法、设备、存储介质及装置,旨在解决现有技术中Native App的功能测试效率低的技术问题。
为实现上述目的,本发明提供一种基于数据处理的本地测试方法,所述基于数据处理的本地测试方法包括以下步骤:
获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器;
获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码;
通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试。
优选地,所述获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器之前,所述基于数据处理的本地测试方法还包括:
将预设测试要求添加至目标扩展的安装包中;
所述通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,包括:
通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果。
优选地,所述通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果之后,所述基于数据处理的本地测试方法还包括:
获取预设应用程序代码,将所述预设功能代码与所述预设应用程序代码进行集成,获得集成应用程序代码,其中,所述预设功能代码为HTML5代码,所述预设应用程序代码为与所述预设功能代码对应的APP代码;
对所述集成应用程序代码进行兼容性测试和/或集成测试。
优选地,所述将预设测试要求添加至目标扩展的安装包中之前,所述基于数据处理的本地测试方法还包括:
通过面向切面编程给原生方法代码增加环绕通知,生成目标扩展的安装包。
优选地,所述获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码,包括:
获取预设功能代码,通过所述扩展浏览器检测所述预设功能代码中是否存在原生方法代码;
当检测到所述原生方法代码时,跳过所述原生方法代码。
优选地,所述获取预设功能代码,通过所述扩展浏览器检测所述预设功能代码中是否存在原生方法代码,包括:
获取预设功能代码,通过所述扩展浏览器对所述预设功能代码中的代码名称进行遍历;
将遍历到的所述代码名称与预设函数名称进行匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码。
优选地,所述获取预设功能代码,通过所述扩展浏览器检测所述预设功能代码中是否存在原生方法代码之后,所述基于数据处理的本地测试方法还包括:
将遍历到的所述代码名称与预设正则表达式进行匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码。
此外,为实现上述目的,本发明还提出一种基于数据处理的本地测试设备,所述基于数据处理的本地测试设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于数据处理的本地测试程序,所述基于数据处理的本地测试程序配置为实现如上文所述的基于数据处理的本地测试方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于数据处理的本地测试程序,所述基于数据处理的本地测试程序被处理器执行时实现如上文所述的基于数据处理的本地测试方法的步骤。
此外,为实现上述目的,本发明还提出一种基于数据处理的本地测试装置,所述基于数据处理的本地测试装置包括:安装模块、跳过模块和测试模块;
所述安装模块,用于获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器;
所述跳过模块,用于获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码;
所述测试模块,用于通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试。
本发明中,获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器,获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码,从而达到直接、方便和快捷地绕过原生方法代码进行回调逻辑的功能测试;通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,前期测试不依赖原生方法代码,且无需对预设功能代码做任何更改,测试效率提升,减少问题的产生。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的基于数据处理的本地测试设备的结构示意图;
图2为本发明基于数据处理的本地测试方法第一实施例的流程示意图;
图3为本发明基于数据处理的本地测试方法第二实施例的流程示意图;
图4为本发明基于数据处理的本地测试方法第三实施例的流程示意图;
图5为本发明基于数据处理的本地测试装置第一实施例的结构框图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的基于数据处理的本地测试设备结构示意图。
如图1所示,该基于数据处理的本地测试设备可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、客户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。客户接口1003可以包括显示屏(Display),可选客户接口1003还可以包括标准的有线接口、无线接口,对于客户接口1003的有线接口在本发明中可为USB接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM)存储器,也可以是稳定的存储器(Non-volatileMemory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的结构并不构成对基于数据处理的本地测试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,认定为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、客户接口模块以及基于数据处理的本地测试程序。
在图1所示的基于数据处理的本地测试设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;客户接口1003主要用于连接电脑端;所述基于数据处理的本地测试设备通过处理器1001调用存储器1005中存储的基于数据处理的本地测试程序,并执行本发明实施例提供的基于数据处理的本地测试方法。
基于上述硬件结构,提出本发明基于数据处理的本地测试方法的实施例。
参照图2,图2为本发明基于数据处理的本地测试方法第一实施例的流程示意图,提出本发明基于数据处理的本地测试方法第一实施例。
在第一实施例中,所述基于数据处理的本地测试方法包括以下步骤:
步骤S10:获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器。
应理解的是,本实施例的执行主体是基于数据处理的本地测试设备,其中,所述基于数据处理的本地测试设备可为移动终端、电脑端或服务器等电子设备。所述原始浏览器可以是谷歌浏览器(Google Chrome),将所述目标扩展的安装包安装至原始chrome浏览器,使得获得的扩展chrome浏览器在进行基于数据处理的本地测试时,会自动检测Native,并跳过Native直接执行HTML5回调的测试。
在具体实现中,所述目标扩展的安装包的开发步骤具体为:
首先,创建清单文件(manifest file),所述manifest文件是JavaScript对象简谱(JavaScript Object Notation,简称JSON)格式的元数据文件,其中包括扩展名、扩展的说明和版本号等属性。同时也将通过所述manifest文件向Chrome浏览器声明所述目标扩展的安装包对应的目标扩展程序将要执行的操作,以及执行这些操作需要的权限。基础信息配置包括:扩展的版本、扩展的名字、扩展的简介及扩展的图标;权限配置包括:授权访问标签扩展开发文档(chrome.tabs)、视窗扩展文档(chrome.windows)API和授权匹配本地主机(localhost)的正则;扩展图标展示配置:可以在浏览器的工具栏或地址栏右侧展示。通过安装了所述目标扩展的安装包的所述扩展浏览器进行测试时,可通过点击扩展图标来实现所述目标扩展程序的使用;扩展常驻后台配置:自动生成一个背景页,设置监听到对应域名则调用所述目标扩展程序;配置要注入的脚本代码;配置显示声明访问所述目标扩展程序中的资源。通过创建manifest文件,使得所述目标扩展程序能够与chrome浏览器进行集成,是核心功能脚本集成到chrome浏览器的前提。
其次,开发注入脚本的代码,所述开发注入脚本的代码的原理为:在当前页面文档对象模型(Document Object Model,简称DOM)添加脚本(Script)标签,直接引入扩展的Javascript(简称JS)代码。Javascript是一种脚本语言,主要目的是为了解决服务器终端语言遗留的速度问题,并提供了数据验证的基本功能。所述注入脚本的代码要实现的核心功能为自动检测Native,并跳过Native,以使得安装所述目标扩展的安装包的扩展chrome浏览器能够在基于数据处理的本地测试过程中,绕过Native实现HTML5逻辑的测试,所述核心功能通过核心脚本来实现。
最后,核心脚本的功能开发,所述核心脚本的功能开发的原理为:通过面向切面编程(Aspect Oriented Programming,简称AOP)拦截并绕过所述原始方法(C.Native.),给C.Native对象增加环绕通知(AOP Native.addAround)。
步骤S20:获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码。
可理解的是,所述预设功能代码为HTML5代码,根据开发需求测试相应的功能。由于所述扩展浏览器中已安装所述目标扩展的安装包,可通过所述扩展浏览器的所述目标扩展的安装包对应的所述目标扩展程序,实现跳过所述预设功能代码中的原生方法代码,无需手动注释依赖APP的功能代码,即可继续测试后续纯HTML5代码的功能。所述扩展浏览器对述预设功能代码中的原生方法代码进行检测,若检测到所述预设功能代码中存在需绕过的Native方法,则自动跳过所述需绕过的Native方法,则实现屏蔽对原生APP的功能依赖,直接测试纯HTML5代码逻辑及对应功能。
步骤S30:通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试。
需要说明的是,通过所述扩展浏览器实现了跳过所述预设功能代码中的原生方法代码,解决了混合框架APP在开发前期的基于数据处理的本地测试阶段,使用浏览器访问本地代码,如遇到依赖原生APP的功能(如拍照或语音等),浏览器无法支持,代码阻塞的问题,可直接执行传给Native方法的入参回调函数,实现基于数据处理的本地测试,提升测试效率,从而提升开发效率。
在第一实施例中,获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器,获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码,从而达到直接、方便和快捷地绕过原生方法代码进行回调逻辑的功能测试;通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,前期测试不依赖原生方法代码,且无需对预设功能代码做任何更改,测试效率提升,减少问题的产生。
参照图3,图3为本发明基于数据处理的本地测试方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明基于数据处理的本地测试方法的第二实施例。
在第二实施例中,所述步骤S10之前,还包括:
步骤S01:将预设测试要求添加至目标扩展的安装包中。
可理解的是,在对所述HTML5代码的所述回调逻辑进行测试时,可将需要测试的逻辑结果直接写在所述目标扩展程序中,即添加至所述目标扩展的安装包中,例如拍照,拍照功能的逻辑结果包括:拍照成功和拍照失败,若想测试拍照成功的逻辑功能,则可所述预设测试要求设置为拍照成功,将所述拍照成功写在所述目标扩展程序中,则对HTML5代码的逻辑进行测试时,会直接测试拍照成功的功能。
相应地,所述步骤S30,包括:
步骤S301:通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果。
需要说明的是,比如拍照,拍照功能的逻辑结果包括:拍照成功和拍照失败,若想测试拍照失败的逻辑功能,则可所述预设测试要求设置为拍照失败,将所述拍照失败写在所述目标扩展程序中,则对HTML5代码的逻辑进行测试时,会直接测试拍照失败的功能,获得拍照失败情况下的测试结果。
在第二实施例中,所述步骤S301之后,还包括:
步骤S302:获取预设应用程序代码,将所述预设功能代码与所述预设应用程序代码进行集成,获得集成应用程序代码,其中,所述预设功能代码为HTML5代码,所述预设应用程序代码为与所述预设功能代码对应的APP代码。
应理解的是,预设应用程序代码是与预设功能代码对应的APP代码。由于所述预设功能代码中各种HTML5逻辑功能已完成了本地功能测试,将所述预设功能代码与所述APP代码集成,集成之后无需偏重HTML5功能测试,只需继续兼容性测试和/或集成测试作为新的测试重点,从而降低了测试周期。
步骤S303:对所述集成应用程序代码进行兼容性测试和/或集成测试。
在具体实现中,兼容测试(Compatibility Test Suite)简称CTS,指对所述集成应用程序代码与硬件、软件之间的兼容性的测试。分为浏览器兼容测试和分辨率兼容测试两类。测试所述集成应用程序代码是否能在不同的操作系统平台上兼容,或测试所述集成应用程序代码是否能在同一操作平台的不同版本上兼容;所述集成应用程序代码本身能否向前或向后兼容;测试所述集成应用程序代码能否与其他相关的软件兼容;数据兼容性测试,主要是指数据能否共享等。所述集成测试,也叫组装测试或联合测试,在所述预设功能代码测试和所述预设应用程序代码测试的基础上,按照设计要求使用通过所述预设功能代码测试和所述预设应用程序代码的构件来构造程序结构,包括:功能性测试,可使用黑盒测试技术针对被测的所述预设功能代码和所述预设应用程序代码的接口规格说明进行测试;非功能性测试,对所述预设功能代码和所述预设应用程序代码的性能或可靠性进行测试。
在第二实施例中,所述步骤S01之前,还包括:
步骤S00:通过面向切面编程给原生方法代码增加环绕通知,生成目标扩展的安装包。
可理解的是,所述通过面向切面编程给原生方法代码增加环绕通知的方式有三个入参,参数一是字符串表示对象名称,所述对象名称为C.Native,表示APP提供给HTML5代码的对象,需要绕过的Native方法均属于该对象的属性。参数二是匹配方式,可以是字符串格式,则表示严格匹配一个函数名称;也可以是正则表达式,统一匹配符合该正则表达式的所有Native函数;还可以是一个函数,在函数中指定返回一个字符串A,表示所有的Native方法代码将会被方式A替代,在所述核心脚本执行期间绕过的Native方法将统一使用方式A的回调结果。参数三是一个函数,该函数内部的主要功能是对绕过的Native方法代码给一个回调结果,按照用户的实际需要,可以给出成功或失败等各种情况的预设测试要求,则测试完成会给出与所述预设测试要求对应的测试结果,通过面向切面编程给原生方法代码增加环绕通知,生成所述目标扩展的安装包,使得所述目标扩展的安装包对应的所述目标扩展程序能够实现跳过原生方法代码的功能。
本实施例中,将预设测试要求添加至目标扩展的安装包中,通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果,能够实现用户需求的对应结果的测试,提高测试精准度;获取预设应用程序代码,将所述预设功能代码与所述预设应用程序代码进行集成,获得集成应用程序代码,其中,所述预设功能代码为HTML5代码,所述预设应用程序代码为与所述预设功能代码对应的APP代码,对所述集成应用程序代码进行兼容性测试和/或集成测试,集成之后无需偏重HTML5功能测试,只需继续兼容性测试和/或集成测试作为新的测试重点,从而降低了测试周期。
参照图4,图4为本发明基于数据处理的本地测试方法第三实施例的流程示意图,基于上述图3所示的第二实施例,提出本发明基于数据处理的本地测试方法的第三实施例。
在第三实施例中,所述步骤S20,包括:
步骤S201:获取预设功能代码,通过所述扩展浏览器检测所述预设功能代码中是否存在原生方法代码。
应理解的是,所述扩展浏览器中的所述目标扩展安装包对应的所述目标扩展程序能够对所述预设功能代码中是否存在原生方法代码进行检测。支持三种规则,包括:严格匹配、正则匹配或函数过滤匹配。通过上述三种匹配规则判断需要测试的所述预设功能代码中是否存在C.Native.,若匹配成功,说明所述预设功能代码中存在C.Native.,则对匹配上的C.Native.通过环绕通知AOPNative.addAround对C.Native.实现跳过。
在具体实现中,所述目标扩展安装包对应的所述目标扩展程序还具有可扩展性:AOPNative.addAround的回调函数可以按需修改,即调用Native方法时,回调函数所需要的响应的参数,往c++的集成编译环境(CodeBlocks,简称cb)([响应参数])塞值就可以。如果想要细化,比如需要区分页面的功能,可以通过计算机语言window.location.href拿到当前的统一资源定位符(Uniform Resource Locator,简称URL),就可以更细粒度地匹配到该页面下所调用的Native方法。
进一步地,所述步骤S201,包括:
获取预设功能代码,通过所述扩展浏览器对所述预设功能代码中的代码名称进行遍历;
将遍历到的所述代码名称与预设函数名称进行匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码。
可理解的是,所述严格匹配是指所述参数二为字符串的情况,只有和字符串完全相同的Native方法名才会被处理,否则会被忽略。通过所述扩展浏览器对所述预设功能代码中的代码名称进行遍历,将遍历到的所述代码名称与预设函数名称进行匹配,所述预设函数名称为:C.Native.,若遍历到的所述代码名称与所述预设函数名称一致,则认为匹配成功,将遍历到的所述代码名称认定为原生方法代码,则跳过所述原生方法代码。
进一步地,所述获取预设功能代码,通过所述扩展浏览器对所述预设功能代码中的代码名称进行遍历之后,还包括:
将遍历到的所述代码名称与预设正则表达式进行匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码。
需要说明的是,所述正则匹配是指所述参数二为所述预设正则表达式的情况,只有通过了所述预设正则表达式校验的Native函数名才会被处理,否则会被忽略。通过所述扩展浏览器对所述预设功能代码中的代码名称进行遍历,将遍历到的所述代码名称与预设正则表达式进行匹配,若满足所述预设正则表达式,则认为匹配成功,将遍历到的所述代码名称认定为原生方法代码,则跳过所述原生方法代码。
进一步地,还可通过函数过滤匹配检测所述预设功能代码中是否存在原生方法代码,所述函数过滤匹配主要是对所述严格匹配和所述正则匹配的一种功能增强。通过函数编程,可实现定制化,且更细粒度地拦截所述原生方法,例子:AOPNative.addAround(C.Native,function(method){
if(location.pathname==='account.html'){
return method==='getUserInfo'
}
},function(argv){})
可以细化到拦截预设页面预设方法,返回特定的数据,如上述例子中如果当前为account页面,则对于Native方法全部返回getUserInfo这个方法名,那么只需要在所述参数三中指定getUserInfo的回调结果为success,则当前页面的所有Native自动绕过取getUserInfo的回调结果,最终结果为成功。通过函数编程同样适用于其他一些较复杂的业务场景。
步骤S202:当检测到所述原生方法代码时,跳过所述原生方法代码。
应理解的是,若检测到所述预设功能代码中存在需绕过的Native方法,则自动跳过所述需绕过的Native方法,实现屏蔽对原生APP的功能依赖,直接测试纯HTML5代码逻辑及对应功能。
在第三实施例中,获取预设功能代码,通过所述扩展浏览器检测所述预设功能代码中是否存在原生方法代码,当检测到所述原生方法代码时,跳过所述原生方法代码,实现屏蔽对原生APP的功能依赖,直接测试纯HTML5代码逻辑及对应功能,前期测试不依赖原生方法代码,且无需对预设功能代码做任何更改,提升测试效率。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于数据处理的本地测试程序,所述基于数据处理的本地测试程序被处理器执行时实现如上文所述的基于数据处理的本地测试方法的步骤。
此外,参照图5,本发明实施例还提出一种基于数据处理的本地测试装置,所述基于数据处理的本地测试装置包括:安装模块10、跳过模块20和测试模块30;
所述安装模块10,用于获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器;
所述跳过模块20,用于获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码;
所述测试模块30,用于通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试。
在一实施例中,所述基于数据处理的本地测试装置还包括:添加模块;
所述添加模块,用于将预设测试要求添加至目标扩展的安装包中;
所述测试模块30,还用于通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果。
在一实施例中,所述基于数据处理的本地测试装置还包括:集成模块;
所述集成模块,用于获取预设应用程序代码,将所述预设功能代码与所述预设应用程序代码进行集成,获得集成应用程序代码,其中,所述预设功能代码为HTML5代码,所述预设应用程序代码为与所述预设功能代码对应的APP代码;
所述测试模块30,还用于对所述集成应用程序代码进行兼容性测试和/或集成测试。
在一实施例中,所述基于数据处理的本地测试装置还包括:生成模块;
所述生成模块,用于通过面向切面编程给原生方法代码增加环绕通知,生成目标扩展的安装包。
在一实施例中,所述基于数据处理的本地测试装置还包括:检测模块;
所述检测模块,用于获取预设功能代码,通过所述扩展浏览器检测所述预设功能代码中是否存在原生方法代码;
所述跳过模块20,还用于当检测到所述原生方法代码时,跳过所述原生方法代码。
在一实施例中,所述基于数据处理的本地测试装置还包括:遍历模块和匹配模块;
所述遍历模块,用于获取预设功能代码,通过所述扩展浏览器对所述预设功能代码中的代码名称进行遍历;
所述匹配模块,用于将遍历到的所述代码名称与预设函数名称进行匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码。
在一实施例中,所述匹配模块,还用于将遍历到的所述代码名称与预设正则表达式进行匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码。
本发明所述基于数据处理的本地测试装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为名称。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器镜像(Read Only Memory image,ROM)/随机存取存储器(Random AccessMemory,RAM)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (5)

1.一种基于数据处理的本地测试方法,其特征在于,所述基于数据处理的本地测试方法包括以下步骤:
获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器;
获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码;
通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试;
其中,所述获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码的步骤包括:
获取预设功能代码,通过所述扩展浏览器对所述预设功能代码中的代码进行遍历并根据匹配规则进行匹配,所述匹配规则包含严格匹配、正则匹配和函数过滤匹配;
将遍历到的预设功能代码中的代码名称与预设函数名称进行严格匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码;
或/和,将遍历到的所述代码名称与预设正则表达式进行正则匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码;
或/和,将遍历到的预设功能代码中的代码数据进行函数过滤匹配,若匹配到特定代码,则认定遍历到的所述代码数据为原生方法代码;
当检测到所述原生方法代码时,跳过所述原生方法代码;
其中,所述获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器之前,所述基于数据处理的本地测试方法还包括:
通过面向切面编程给原生方法代码增加环绕通知,生成目标扩展的安装包;其中,通过面向切面编程给原生方法代码增加环绕通知的方式包括三个入参,参数一为字符串表示对象名称,表示APP提供给HTML5代码的对象,需要绕过的Native方法属于该对象的属性;参数二为匹配方式,包括严格匹配、正则匹配和函数过滤匹配;参数三为一个函数,所述函数是对绕过的Native方法代码给一个回调结果;
将预设测试要求添加至目标扩展的安装包中;
所述通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,包括:
通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果。
2.如权利要求1所述的基于数据处理的本地测试方法,其特征在于,所述通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果之后,所述基于数据处理的本地测试方法还包括:
获取预设应用程序代码,将所述预设功能代码与所述预设应用程序代码进行集成,获得集成应用程序代码,其中,所述预设功能代码为HTML5代码,所述预设应用程序代码为与所述预设功能代码对应的APP代码;
对所述集成应用程序代码进行兼容性测试和/或集成测试。
3.一种基于数据处理的本地测试设备,其特征在于,所述基于数据处理的本地测试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于数据处理的本地测试程序,所述基于数据处理的本地测试程序被所述处理器执行时实现如权利要求1至2中任一项所述的基于数据处理的本地测试方法的步骤。
4.一种存储介质,其特征在于,所述存储介质上存储有基于数据处理的本地测试程序,所述基于数据处理的本地测试程序被处理器执行时实现如权利要求1至2中任一项所述的基于数据处理的本地测试方法的步骤。
5.一种基于数据处理的本地测试装置,其特征在于,所述基于数据处理的本地测试装置包括:安装模块、跳过模块和测试模块;
所述安装模块,用于获取目标扩展的安装包,将所述目标扩展的安装包安装至原始浏览器,获得扩展浏览器;
所述跳过模块,用于获取预设功能代码,通过所述扩展浏览器跳过所述预设功能代码中的原生方法代码;
所述测试模块,用于通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试;
所述跳过模块,还用于获取预设功能代码,通过所述扩展浏览器对所述预设功能代码中的代码进行遍历并根据匹配规则进行匹配,所述匹配规则包含严格匹配、正则匹配和函数过滤匹配;将遍历到的预设功能代码中的代码名称与预设函数名称进行严格匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码;或/和,将遍历到的所述代码名称与预设正则表达式进行正则匹配,若匹配成功,则认定遍历到的所述代码名称为原生方法代码;或/和,将遍历到的预设功能代码中的代码数据进行函数过滤匹配,若匹配到特定代码,则认定遍历到的所述代码数据为原生方法代码;当检测到所述原生方法代码时,跳过所述原生方法代码;
其中,所述安装模块,还用于通过面向切面编程给原生方法代码增加环绕通知,生成目标扩展的安装包;其中,通过面向切面编程给原生方法代码增加环绕通知的方式包括三个入参,参数一为字符串表示对象名称,表示APP提供给HTML5代码的对象,需要绕过的Native方法属于该对象的属性;参数二为匹配方式,包括严格匹配、正则匹配和函数过滤匹配;参数三为一个函数,所述函数是对绕过的Native方法代码给一个回调结果;将预设测试要求添加至目标扩展的安装包中;所述通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,包括:通过所述扩展浏览器对所述预设功能代码中的回调逻辑进行测试,获得与所述预设测试要求对应的测试结果。
CN201810957609.6A 2018-08-21 2018-08-21 基于数据处理的本地测试方法、设备、存储介质及装置 Active CN109684192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810957609.6A CN109684192B (zh) 2018-08-21 2018-08-21 基于数据处理的本地测试方法、设备、存储介质及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810957609.6A CN109684192B (zh) 2018-08-21 2018-08-21 基于数据处理的本地测试方法、设备、存储介质及装置

Publications (2)

Publication Number Publication Date
CN109684192A CN109684192A (zh) 2019-04-26
CN109684192B true CN109684192B (zh) 2024-03-01

Family

ID=66184460

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810957609.6A Active CN109684192B (zh) 2018-08-21 2018-08-21 基于数据处理的本地测试方法、设备、存储介质及装置

Country Status (1)

Country Link
CN (1) CN109684192B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297762A (zh) * 2019-05-24 2019-10-01 平安银行股份有限公司 插件式自动测试方法、装置、计算机设备及存储介质
CN110390043A (zh) * 2019-06-17 2019-10-29 深圳壹账通智能科技有限公司 网页邮箱数据的爬取方法、装置、终端和存储介质
CN110781079B (zh) * 2019-10-08 2022-08-09 新华三大数据技术有限公司 数据处理流程调试方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102511037A (zh) * 2010-08-10 2012-06-20 国际商业机器公司 用于自动测试web应用的方法和系统
CN104239071A (zh) * 2014-10-13 2014-12-24 浪潮通信信息系统有限公司 一种基于通用组件和中转服务的跨平台移动应用开发框架系统
CN107704393A (zh) * 2017-09-29 2018-02-16 武汉斗鱼网络科技有限公司 数据测试方法、装置及电子设备
CN108197024A (zh) * 2017-12-28 2018-06-22 深圳Tcl数字技术有限公司 嵌入式浏览器调试方法、调试终端及计算机可读存储介质
CN108363662A (zh) * 2018-01-29 2018-08-03 深圳壹账通智能科技有限公司 一种应用程序测试方法、存储介质及终端设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9753843B2 (en) * 2014-11-20 2017-09-05 Accenture Global Services Limited Automated testing of web-based applications

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102511037A (zh) * 2010-08-10 2012-06-20 国际商业机器公司 用于自动测试web应用的方法和系统
CN104239071A (zh) * 2014-10-13 2014-12-24 浪潮通信信息系统有限公司 一种基于通用组件和中转服务的跨平台移动应用开发框架系统
CN107704393A (zh) * 2017-09-29 2018-02-16 武汉斗鱼网络科技有限公司 数据测试方法、装置及电子设备
CN108197024A (zh) * 2017-12-28 2018-06-22 深圳Tcl数字技术有限公司 嵌入式浏览器调试方法、调试终端及计算机可读存储介质
CN108363662A (zh) * 2018-01-29 2018-08-03 深圳壹账通智能科技有限公司 一种应用程序测试方法、存储介质及终端设备

Also Published As

Publication number Publication date
CN109684192A (zh) 2019-04-26

Similar Documents

Publication Publication Date Title
AU2017302249B8 (en) Visual regression testing tool
CN107133180B (zh) 动态页面的测试方法、测试装置及存储介质
CN109684192B (zh) 基于数据处理的本地测试方法、设备、存储介质及装置
US8413128B2 (en) Asynchronous load of source dependencies
CN110990731A (zh) 一种静态网页的渲染方法、装置、设备及计算机存储介质
US20110307238A1 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
CN107688529B (zh) 组件调试方法和装置
CN103778373A (zh) 病毒检测方法及装置
CN105378658A (zh) 自动源代码生成
CN111090431A (zh) 一种数据处理方法及装置
CN103139260B (zh) 用于重用html内容的方法和系统
CN113535587B (zh) 目标应用检测方法、装置及计算机设备
CN108595656B (zh) 一种数据的处理方法及系统
CN112231197A (zh) 一种页面测试的方法、装置和存储介质
CN108509228B (zh) 加载页面的方法、终端设备及计算机可读存储介质
CN107239265B (zh) Java函数与C函数的绑定方法及装置
CN114911541B (zh) 配置信息的处理方法、装置、电子设备及存储介质
CN108664253B (zh) 应用替换方法、装置、存储介质及电子设备
CN111399842A (zh) 一种代码编译方法及装置
CN113760706B (zh) 网页调试方法及装置
CN115185712B (zh) 数据交互方法、装置、电子设备和存储介质
CN116860324B (zh) 开发数据处理方法、开发数据处理设备以及可读存储介质
CN114996128B (zh) 基于asm框架的脚本处理方法、装置、设备及存储介质
CN117421039B (zh) 前端Vue工程的版本信息生成方法、装置、设备和存储介质
CN114124748B (zh) 基于idea平台的超文本传输协议接口调试装置及方法

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20240130

Address after: No. 301, Building 11, Phase II, Taicang University Science Park, No. 27 Zigang Road, Science and Education New City, Taicang City, Suzhou City, Jiangsu Province, 215000

Applicant after: Tianhang Changying (Jiangsu) Technology Co.,Ltd.

Country or region after: China

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

Country or region before: China

GR01 Patent grant
GR01 Patent grant