CN110825622A - 软件测试方法、装置、设备和计算机可读介质 - Google Patents
软件测试方法、装置、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN110825622A CN110825622A CN201910984934.6A CN201910984934A CN110825622A CN 110825622 A CN110825622 A CN 110825622A CN 201910984934 A CN201910984934 A CN 201910984934A CN 110825622 A CN110825622 A CN 110825622A
- Authority
- CN
- China
- Prior art keywords
- current page
- page
- source code
- code file
- xml source
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013522 software testing Methods 0.000 title claims abstract description 29
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012360 testing method Methods 0.000 abstract description 34
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013515 script Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000208306 Apium Species 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了软件测试方法、装置、设备和计算机可读介质,涉及计算机技术领域。该方法的一具体实施方式包括:获取当前页面的XML源码文件;所述当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;所述当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于所述当前页面的返回次数操作所述当前页面。该实施方式能够提高测试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件测试方法、装置、设备和计算机可读介质。
背景技术
移动互联网时代背景下,移动应用(APP)成为连接用户的主要渠道。在APP版本快速迭代抢占市场先机的同时,更需要严苛保证APP质量。
APP自动化测试,就是按照业务需求编制自动化脚本,通过测试框架在终端上批量调度执行,自动完成对APP的测试工作。
自动化测试具有以下优势:
1、执行效率高。
测试任务可以在任意时间下启动,无人值守执行速度较快。执行过程中可同步采集系统日志及截图,自动生成测试报告。
2、节省测试资源。
一方面减少重复劳动的人力成本,另一方面通过对测试终端的分时复用减少硬件投入。
3、克服手工测试的不足。
可以进行大规模、长时间的测试,并且严格保证每次测试执行的一致性,避免人为松懈与出错。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:自动化测试案例执行完毕后,会停留在交易成功页面,如需执行下一条案例,则需要返回APP的首页。无论是基于脚本返回首页,还是重启APP返回首页,均存在执行效率较低问题。
发明内容
有鉴于此,本发明实施例提供一种软件测试方法、装置、设备和计算机可读介质,能够提高测试效率。
为实现上述目的,根据本发明实施例的一个方面,提供了一种软件测试方法,包括:
获取当前页面的XML源码文件;
所述当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;
所述当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于所述当前页面的返回次数操作所述当前页面。
所述基于所述当前页面的返回次数操作所述当前页面,包括:
当前页面的返回次数大于等于最大次数,则重启APP以返回APP首页;
当前页面的返回次数小于最大次数,则返回上一级界面操作,再次获取当前页面的XML源码文件。
所述获取当前页面的XML源码文件,包括:
所述当前页面是原生页面,基于操作系统提供的服务,生成所述当前页面的XML源码文件;
所述当前页面是H5页面,采用浏览器获取所述当前页面的XML源码文件。
所述获取当前页面的XML源码文件,包括:
当前页面是混合页面,基于操作系统提供的服务,生成所述当前页面的XML源码文件;
所述当前页面的XML源码文件中未包括APP首页所有特有控件,再采用浏览器获取所述当前页面的XML源码文件。
所述获取当前页面的XML源码文件之前,还包括:
基于类型为webkit.WebView的控件,确定所述当前页面的类型。
根据本发明实施例的第二方面,提供了一种软件测试装置,包括:
获取模块,用于获取当前页面的XML源码文件;
确定模块,用于所述当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;
操作模块,用于所述当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于所述当前页面的返回次数操作所述当前页面。
所述操作模块,具体用于当前页面的返回次数大于等于最大次数,则重启APP以返回APP首页;
当前页面的返回次数小于最大次数,则返回上一级界面操作,再次获取当前页面的XML源码文件。
所述获取模块,具体用于所述当前页面是原生页面,基于操作系统提供的服务,生成所述当前页面的XML源码文件;
所述当前页面是H5页面,采用浏览器获取所述当前页面的XML源码文件。
根据本发明实施例的第三方面,提供了一种软件测试电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的方法。
根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述的方法。
上述发明中的一个实施例具有如下优点或有益效果:因为获取当前页面的XML源码文件;当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于当前页面的返回次数操作当前页面。根据当前页面的XML源码文件是否包括APP首页所有特有控件来判断当前页面是否为APP首页,进而能够提高测试效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的软件测试方法的主要流程的示意图;
图2是根据本发明实施例中判断当前页面类型的流程示意图;
图3是根据本发明实施例的软件测试装置的主要结构的示意图;
图4是本发明实施例可以应用于其中的示例性系统架构图;
图5是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在APP自动化测试过程中,自动化测试案例执行完毕后,会停留在交易成功页面,如需执行下一条测试案例,则需要返回APP首页。可以采用以下几种方式。
方式一:
从当前页面逐步回退APP首页,并记录返回过程中回退操作的次数,录制成脚本。回到APP首页后再开始执行下一条自动化测试案例。
由于需要从结束页面开始录制返回APP首页的脚本,以便与下一条自动化测试案例解耦。每个脚本录制回退操作的次数不确定,导致脚本无法通用。因此,对于测试脚本编写人员是一个沉重的负担。
同时因为交易数据失效、环境异常等问题导致的脚本运行失败,可能会弹出未在预期内的错误弹窗,返回APP首页脚本也无法按预期回退到APP首页,进而导致后续所有自动化测试案例无法执行。因此,执行效率较低。
方式二:
重新启动APP,从APP首页发起下一条自动化测试案例。
采用方式二,可以解决测试案例间耦合的问题,但是每条自动化案例之间,均需要重启APP。在成百上千的自动化测试案例面前,反复重启APP将耗费大量的时间,自动化测试执行效率较低。
方式三:
采用对比当前页面的结构层级树是否与APP首页的结构层级树是否一致,以判断是否返回APP首页。
其中,每次对比均需要记录、存储、遍历结构层级树的每个父节点及子节点,实施成本高。此外如果APP首页的结构层级树发生变化,还需要同步更新才能保证定位准确。可见,自动化测试执行效率较低。
为了解决自动化测试执行效率较低的技术问题,可以采用以下本发明实施例中的技术方案。
参见图1,图1是根据本发明实施例的软件测试方法主要流程的示意图,通过当前页面的XML源码文件中是否包括APP首页所有特有控件,以确定当前页面是否为APP首页。如图1所示,具体包括以下步骤:
可以理解的是,本发明实施例适用测试场景可以是,APP自动化测试。
通过adb连接工具建立与终端的调试模式连接,通过开源工具Appium实现对终端的模拟操作与控制。其中,终端可以是手机、平板电脑等安装有Android,或iOS操作系统的电子设备。
具体过程为:上位机即:PC端,搭建AppiumServer,搜集并封装用户控制APP的指令,指令包括各类参数。如:提供APP启动的包文件名(appPackage)、APP启动的入口文件名(appActivity)等一系列参数。
通过标准的WebDriver JSONWireProtocol协议,与终端安装的代理端通信。Android代理端为Bootstrap.jar。终端的Bootstrap.jar将收到的指令转换成UIAutomator的命令,与Android系统交互,调用指定APP并进行控制,同时会将命令的返回结果返还给上位机的AppiumServer。
S101、获取当前页面的XML源码文件。
可扩展标记语言(XML),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。
无论是Android,还是iOS的APP,页面上的每一个布局、控件、屏幕操作事件都记录在基于XML语言描述的页面源码中,可显示到屏幕上供用户查看及操作。
在自动化测试案例执行结束后,可以获取当前页面的XML源码文件。
APP页面类型包括以下三种,分别为原生页面、H5页面和混合页面。其中,混合页面包括原生页面和H5页面。
原生页面的控件类型、属性、样式均与普通网页不同。Android与iOS两种系统的控件树也不相同,体现为APP操作界面风格、色彩搭配、按键事件各不相同。原生页面无法用浏览器内核解析,必须通过操作系统进行渲染。
H5页面的控件树,与普通网页的类似,均采用浏览器内核进行解析和渲染,APP会针对终端屏幕大小进行兼容性适配。
针对不同的页面类型,可以采用不同方式获取XML源码文件。
在本发明的一个实施例中,基于当前页面中,是否仅存在类型为webkit.WebView的控件,判断当前页面类型。
参见图2,图2是根据本发明实施例中判断当前页面类型的流程示意图,具体包括:
S201、当前页面中是否存在类型为webkit.WebView的控件。
若当前页面中存在类型为webkit.WebView的控件,则进一步执行S202。若当前页面中不存在类型为webkit.WebView的控件,则确定当前页面是原始页面。
S202、当前页面中存在类型仅为webkit.WebView的控件。
当前页面中存在类型仅为webkit.WebView的控件,则判断当前页面是H5页面。
当前页面中存在类型不仅包括webkit.WebView的控件,还包括其他类型的控件,则判断当前页面是混合页面。
在上述实施例中,基于是否存在存在类型仅为webkit.WebView的控件,以确定当前页面类型。
在本发明的一个实施例中,当前页面是原生页面,可以基于操作系统提供的服务,生成当前页面的XML源码文件。
作为一个示例,基于Android系统提供的AccessbilityService服务,生成包含当前页面所有控件树结构的源码文件。具体实现方式为使用ADB命令:adb shelluiautomator dump,将Android系统返回文件另存为XML文档,即生成当前页面的源码文件。
在本发明的一个实施例中,当前页面是H5页面,可以采用浏览器获取当前页面的XML源码文件。
作为一个示例,对于H5页面,采用基于Chrome调试协议CDP,采用注入JS方式在页面加载后捕获页面源码。具体为,在终端启动一个chrome浏览器进程,采用CDP协议中Page域提供的API接口,从浏览器进程中读取浏览器内核渲染当前页完毕后的html源码,转换成XML源码文件。
在本发明的一个实施例中,考虑到一些APP页面主体框架结构采用原生页面开发,这是因为响应速度较快。在办理某些业务跳转的页面,则采用H5页面,这样一些小的页面更新,直接更新H5服务端即可,无需更新客户端。
因此,对于混合页面的处理,先按照原生页面获取XML源码文件,若找到指定控件,生成当前页面的XML源码文件,则结束。若没有找到指定控件,则按照H5页面获取XML源码文件。
也就是说,对于混合页面而言,先按照操作系统提供的服务,生成XML源码文件;若当前页面的XML源码文件中未包括APP首页所有特有控件,则再采用浏览器获取当前页面的XML源码文件。
若先按照H5页面方式获取XML源码文件。由于采用基于CDP协议,只能解析到H5部分的页面源码,无法解析原生页面的页面源码。因此,只能先按照原始页面处理,再按照H5页面处理。
这样,在本发明实施例中,对于原生页面、H5页面和混合页面均可以获取XML源码文件。
S102、当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页。
在获取当前页面的XML源码文件之后,就可以判断当前页面是否为APP首页。
在APP首页上具有多个控件,与其他页面相比较,具有唯一性的控件,即APP首页特有控件。作为一个示例,特有控件可以包括但不限于:首页标题栏、头像图片和搜索框等。
可以理解的是,可以以当前页面是否包括APP首页特有控件,确定当前页面是否为APP首页。
考虑到,有时因为测试人员的经验不足,会将非APP首页特有控件,作为APP首页特有控件。如:APP底部标题栏,可能在多个页面都会存在,则APP底部标题栏不属于APP首页特有控件。或者,APP开发人员复用页面代码,导致一个控件的代码在多个页面一致。
为了避免在上述情况下,难以确定当前页面是否为APP首页,则可以按照APP首页所有特有控件,判断当前页面是否为APP首页。
可以理解的是,当前页面并非包括APP首页所有特有控件,则判断当前页面不是APP首页;只有在当前页面包括APP首页所有特有控件的情况下,则可以判断当前页面是APP首页。
作为一个示例,APP首页特有控件具体为:控件1,控件2和控件3。页面A包括控件1和控件2;页面B包括控件1,控件2和控件3。
由于页面A未包括控件3,则页面A不是APP首页;页面B包括APP首页所有特有控件,则页面B是APP首页。
XPath(XML Path Language)是记录XML页面各类元素的路径语言,它可用于确定XML文档中某部分的具体位置,也可于控件定位。在本发明实施例中,可以利用APP首页特有控件XPath,在当前页面中定位,以确定当前页面的XML源码文件中包括APP首页所有特有控件。
也就是说,在当前页面的XML源码文件中,存在APP首页所有特有控件XPath,则确定当前页面的XML源码文件中包括APP首页所有特有控件。
在上述判断过程中,APP首页特有控件的数量大于一个的情况下,则需要逐个判断,当前页面的XML源码文件中,是否存在APP首页特有控件XPath。
作为一个示例,APP首页特有控件包括控件1,控件2和控件3。在当前页面的XML源码文件中,先判断是否存储控件1XPath,然后判断是否存储控件2XPath,最后判断是否存储控件3XPath。其中,上述特有控件的判断顺序并非固定。当判断不包括一个特有控件XPath,则可以确定当前页面的XML源码文件中未包括APP首页所有特有控件。
S103、当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于当前页面的返回次数操作当前页面。
当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,那么进而可以基于当前页面的返回次数操作当前页面。
在本发明的一个实施例中,页面的返回次数是指从原始页面返回至当前页面的次数。可以通过当前页面的返回次数进一步确定具体的操作。
为了防止遇到特殊框无法响应返回操作。即,避免当前页面不响应返回键,导致返回APP首页进入死循环。
在多次返回APP首页无效的情况下,即,当前页面的返回次数大于等于最大次数,则重启APP以返回APP首页。其中,最大次数可以预先设置。示例性的,可以调用APPIUM执行重启APP的操作。
在当前页面的返回次数小于最大次数的情况下,说明当前页面还可以返回上一级界面操作,再次获取当前页面的XML源码文件,再一次判断当前页面的XML源码文件是否包括APP首页所有特有控件。
示例性的,执行返回上一级界面操作。可以向终端传送ADB命令“adb shell inputkeyevent 66”;或,调用APPIUM的方法driver方法“driver.navigate().back()”。
在上述本发明的实施例中,通过当前页面的XML源码文件中是否包括APP首页所有特有控件,以确定当前页面是否为APP首页。
相比于单独录制返回APP首页脚本,节省大量人工录制工作量。相比于每次重启APP实现案例间解耦,节省大量启动加载时间,极大提高执行效率。
此外,在多次返回APP首页无效的情况下重启APP,保证案例解耦,进一步提高执行效率。
参见图3,图3是根据本发明实施例的软件测试装置的主要结构的示意图,软件测试装置可以实现软件测试方法,如图3所示,软件测试装置具体包括:
获取模块301,用于获取当前页面的XML源码文件.
确定模块302,用于当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页。
操作模块303,用于当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于当前页面的返回次数操作当前页面。
在本发明的一个实施例中,操作模块303,具体用于当前页面的返回次数大于等于最大次数,则重启APP以返回APP首页;
当前页面的返回次数小于最大次数,则返回上一级界面操作,再次获取当前页面的XML源码文件。
在本发明的一个实施例中,获取模块301,具体用于当前页面是原生页面,基于操作系统提供的服务,生成当前页面的XML源码文件;
当前页面是H5页面,采用浏览器获取当前页面的XML源码文件。
在本发明的一个实施例中,获取模块301,具体用于当前页面是混合页面,基于操作系统提供的服务,生成当前页面的XML源码文件;
当前页面的XML源码文件中未包括APP首页所有特有控件,再采用浏览器获取当前页面的XML源码文件。
在本发明的一个实施例中,获取模块301,还用于基于类型为webkit.WebView的控件,确定当前页面的类型。
图4示出了可以应用本发明实施例的软件测试方法或软件测试装置的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的服务器,例如对用户利用终端设备401、402、403所浏览的购物类网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的产品信息查询请求等数据进行分析等处理,并将处理结果(例如目标推送信息、产品信息--仅为示例)反馈给终端设备。
需要说明的是,本发明实施例所提供的软件测试方法一般由服务器405执行,相应地,软件测试装置一般设置于服务器405中。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图5,其示出了适于用来实现本发明实施例的终端设备的计算机系统500的结构示意图。图5示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:
获取当前页面的XML源码文件;
所述当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;
所述当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于所述当前页面的返回次数操作所述当前页面。
根据本发明实施例的技术方案,因为获取当前页面的XML源码文件;当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于当前页面的返回次数操作当前页面。根据当前页面的XML源码文件是否包括APP首页所有特有控件来判断当前页面是否为APP首页,进而能够提高测试效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种软件测试方法,其特征在于,包括:
获取当前页面的XML源码文件;
所述当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;
所述当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于所述当前页面的返回次数操作所述当前页面。
2.根据权利要求1所述软件测试方法,其特征在于,所述基于所述当前页面的返回次数操作所述当前页面,包括:
当前页面的返回次数大于等于最大次数,则重启APP以返回APP首页;
当前页面的返回次数小于最大次数,则返回上一级界面操作,再次获取当前页面的XML源码文件。
3.根据权利要求1所述软件测试方法,其特征在于,所述获取当前页面的XML源码文件,包括:
所述当前页面是原生页面,基于操作系统提供的服务,生成所述当前页面的XML源码文件;
所述当前页面是H5页面,采用浏览器获取所述当前页面的XML源码文件。
4.根据权利要求1所述软件测试方法,其特征在于,所述获取当前页面的XML源码文件,包括:
当前页面是混合页面,基于操作系统提供的服务,生成所述当前页面的XML源码文件;
所述当前页面的XML源码文件中未包括APP首页所有特有控件,再采用浏览器获取所述当前页面的XML源码文件。
5.根据权利要求3或4所述软件测试方法,其特征在于,所述获取当前页面的XML源码文件之前,还包括:
基于类型为webkit.WebView的控件,确定所述当前页面的类型。
6.一种软件测试装置,其特征在于,包括:
获取模块,用于获取当前页面的XML源码文件;
确定模块,用于所述当前页面的XML源码文件中包括APP首页所有特有控件,则确定当前页面为APP首页;
操作模块,用于所述当前页面的XML源码文件中未包括APP首页所有特有控件,则确定当前页面为非首页,基于所述当前页面的返回次数操作所述当前页面。
7.根据权利要求1所述软件测试装置,其特征在于,所述操作模块,具体用于当前页面的返回次数大于等于最大次数,则重启APP以返回APP首页;
当前页面的返回次数小于最大次数,则返回上一级界面操作,再次获取当前页面的XML源码文件。
8.根据权利要求1所述软件测试装置,其特征在于,所述获取模块,具体用于所述当前页面是原生页面,基于操作系统提供的服务,生成所述当前页面的XML源码文件;
所述当前页面是H5页面,采用浏览器获取所述当前页面的XML源码文件。
9.一种软件测试电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984934.6A CN110825622A (zh) | 2019-10-16 | 2019-10-16 | 软件测试方法、装置、设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910984934.6A CN110825622A (zh) | 2019-10-16 | 2019-10-16 | 软件测试方法、装置、设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110825622A true CN110825622A (zh) | 2020-02-21 |
Family
ID=69549383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910984934.6A Pending CN110825622A (zh) | 2019-10-16 | 2019-10-16 | 软件测试方法、装置、设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110825622A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625451A (zh) * | 2020-05-19 | 2020-09-04 | 北京百度网讯科技有限公司 | 自动化测试环境的初始化方法、装置、设备和介质 |
CN112817864A (zh) * | 2021-02-23 | 2021-05-18 | 北京字节跳动网络技术有限公司 | 一种测试文件的生成方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320542A (zh) * | 2015-11-04 | 2016-02-10 | 上海聚力传媒技术有限公司 | 一种移动终端退出异常界面的方法和装置 |
CN106649103A (zh) * | 2016-11-25 | 2017-05-10 | 深圳大学 | 一种安卓应用程序自动化黑盒测试的方法及系统 |
CN108572913A (zh) * | 2018-02-26 | 2018-09-25 | 挖财网络技术有限公司 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
CN109857636A (zh) * | 2018-12-25 | 2019-06-07 | 杭州茂财网络技术有限公司 | 一种在安卓客户端UI自动化过程中定位App首页的方法和应用 |
-
2019
- 2019-10-16 CN CN201910984934.6A patent/CN110825622A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105320542A (zh) * | 2015-11-04 | 2016-02-10 | 上海聚力传媒技术有限公司 | 一种移动终端退出异常界面的方法和装置 |
CN106649103A (zh) * | 2016-11-25 | 2017-05-10 | 深圳大学 | 一种安卓应用程序自动化黑盒测试的方法及系统 |
CN108572913A (zh) * | 2018-02-26 | 2018-09-25 | 挖财网络技术有限公司 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
CN109857636A (zh) * | 2018-12-25 | 2019-06-07 | 杭州茂财网络技术有限公司 | 一种在安卓客户端UI自动化过程中定位App首页的方法和应用 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625451A (zh) * | 2020-05-19 | 2020-09-04 | 北京百度网讯科技有限公司 | 自动化测试环境的初始化方法、装置、设备和介质 |
CN112817864A (zh) * | 2021-02-23 | 2021-05-18 | 北京字节跳动网络技术有限公司 | 一种测试文件的生成方法、装置、设备及介质 |
CN112817864B (zh) * | 2021-02-23 | 2024-04-16 | 北京字节跳动网络技术有限公司 | 一种测试文件的生成方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11119812B2 (en) | Method and device for processing application program page according to a common interface container | |
CN110457038B (zh) | 附属应用端的卡片显示方法、装置、设备以及存储介质 | |
CN113010827B (zh) | 页面渲染方法、装置、电子设备以及存储介质 | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN110858172A (zh) | 一种自动化测试代码生成方法和装置 | |
CN113138768B (zh) | 应用程序包生成方法、装置、电子设备以及可读存储介质 | |
CN114237651A (zh) | 云原生应用的安装方法、装置、电子设备和介质 | |
CN113760729A (zh) | 一种代码检测方法和装置 | |
CN110888794B (zh) | 接口测试方法和装置 | |
CN113138757A (zh) | 前端代码自动生成方法、装置、服务器、系统及介质 | |
CN110825622A (zh) | 软件测试方法、装置、设备和计算机可读介质 | |
CN110221840B (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
CN111414154A (zh) | 前端开发的方法、装置、电子设备和存储介质 | |
CN112214250A (zh) | 一种应用程序组件的加载方法和装置 | |
CN113326079A (zh) | 服务版本切换方法、切换装置、电子设备和存储介质 | |
CN113032004A (zh) | 在开发环境中管理开发作业的方法、设备和程序产品 | |
CN113505036B (zh) | 一种应用监控方法、客户端和服务器 | |
CN112491940A (zh) | 代理服务器的请求转发方法及装置、存储介质及电子设备 | |
CN110806967A (zh) | 一种单元测试方法和装置 | |
CN112783903B (zh) | 生成更新日志的方法和装置 | |
CN115794637A (zh) | 自动化测试的方法、装置、设备和计算机可读介质 | |
CN113360232A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
CN113448578A (zh) | 页面数据处理方法、处理系统、电子设备和可读存储介质 | |
CN113656041A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN113760274A (zh) | 一种前端组件逻辑注入方法和装置 |
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 |
Effective date of registration: 20220921 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200221 |
|
RJ01 | Rejection of invention patent application after publication |