CN111679974A - 一种应用程序的测试方法及装置 - Google Patents
一种应用程序的测试方法及装置 Download PDFInfo
- Publication number
- CN111679974A CN111679974A CN202010457028.3A CN202010457028A CN111679974A CN 111679974 A CN111679974 A CN 111679974A CN 202010457028 A CN202010457028 A CN 202010457028A CN 111679974 A CN111679974 A CN 111679974A
- Authority
- CN
- China
- Prior art keywords
- test
- information
- page element
- page
- operation data
- 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
- 238000012360 testing method Methods 0.000 claims abstract description 321
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000001960 triggered effect Effects 0.000 claims abstract description 23
- 238000004891 communication Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010998 test method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 235000005273 Canna coccinea Nutrition 0.000 description 1
- 240000008555 Canna flaccida Species 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 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—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种应用软件的测试方法及装置。该方法包括:获取用户操作待测试应用软件中页面元素时触发的操作数据信息,每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及操作动作;将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息,测试信息至少包括:元素标识以及操作动作;接收测试信息,确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。本发明实施例通过页面元素的元素标识进行定位,并不依赖于页面元素识别。不仅可以简单快速的定位到对应的页面元素,同时还保证了定位的准确性。
Description
技术领域
本发明涉及应用程序测试领域,尤其涉及一种应用程序的测试方法及装置。
背景技术
随着互联网技术的发展,应用软件(Application,简称APP)的种类也在飞速增长,不同种类的应用软件具有不同功能,可以满足用户的不同需求。通常为保证应用软件的稳定,避免用户使用过程中发生问题,在每款应用软件开发完成之后都需要进行测试。如通过人工的方式对应用软件进行各种操作,并验证应用软件是否能够正常工作。
为了提升测试效率,促进自动化进程,目前已出现对应用软件进行自动化测试的方法,即通过软件实现待测试应用软件的自动化测试。在对待测试应用软件进行自动化测试的方法中,需要根据测试案例定位各个页面元素,然后对定位到的页面元素进行操作。其中定位各个页面元素依赖于页面元素识别,当定位某一页面元素时,需要对待测试应用软件进行页面识别,通过坐标或者图像识别技术确定该页面元素。例如airtest框架就是基于图像识别技术实现应用软件自动化测试的。
然而,由于测试设备的机型不同或者操作系统不同,以及图像识别技术的欠缺,使得在定位页面元素的过程中,无法全部准确的定位到需要被操作的页面元素,进而导致自动测试过程中出现错误或测试可靠性降低。
发明内容
本发明实施例提供一种应用程序的测试方法及装置,以解决现有技术中对应用软件自动化测试过程中定位页面元素的过程复杂,并且准确率较低的问题。
第一方面,本发明实施例提供了一种应用软件的测试方法,应用于终端设备,所述方法包括:
获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个所述页面元素具有不同的元素标识,所述操作数据信息至少包括:元素标识以及所述元素标识指示的页面元素被操作时的操作动作;
将所述操作数据信息发送至测试服务器,以使所述测试服务器根据所述操作数据信息生成测试案例,并根据测试案例返回测试信息,其中所述测试信息至少包括:元素标识以及操作动作;
接收所述测试信息,并确定所述测试信息中元素标识指示的目标页面元素,对所述目标页面元素执行所述测试信息中的操作动作。
可选的,所述待测试应用软件中每个页面元素均具有标识属性,并且所述标识属性中存储有元素标识。
可选的,所述待测试应用软件中每个页面元素分别绑定有预设方法,当所述页面元素被操作时,触发所述预设方法,获取所述操作数据信息。
可选的,所述确定所述测试信息中元素标识指示的目标页面元素,对所述目标页面元素执行所述测试信息中的操作动作的步骤包括:
根据所述测试信息,生成测试指令;其中,所述测试指令包括测试对象以及测试动作,所述测试对象为所述测试信息中元素标识指示的页面元素,所述测试动作为所述测试信息中的操作动作;
根据所述测试指令,对所述测试对象执行所述测试动作。
可选的,所述元素标识包括:页面元素所在页面的页面名称、页面元素所用组件的类型名称、页面元素的名称以及序号。
可选的,所述操作数据信息还包括:所述终端设备的设备信息。
可选的,所述设备信息至少包括:所述终端设备的设备号。
第二方面,本发明实施例还提供一种应用软件的测试装置,应用于终端设备,所述装置包括:
获取模块,用于获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个所述页面元素具有不同的元素标识,所述操作数据信息至少包括:元素标识以及所述元素标识指示的页面元素被操作时的操作动作;
发送模块,用于将所述操作数据信息发送至测试服务器,以使所述测试服务器根据所述操作数据信息生成测试案例,并根据测试案例返回测试信息,其中所述测试信息至少包括:元素标识以及操作动作;
测试模块,用于接收所述测试信息,并确定所述测试信息中元素标识指示的目标页面元素,对所述目标页面元素执行所述测试信息中的操作动作。
可选的,所述待测试应用软件中每个页面元素均具有标识属性,并且所述标识属性中存储有元素标识。
可选的,所述待测试应用软件中每个页面元素分别绑定有预设方法,当所述页面元素被操作时,触发所述预设方法,获取所述操作数据信息。
可选的,所述测试模块包括:
第一测试单元,用于根据所述测试信息,生成测试指令;其中,所述测试指令包括测试对象以及测试动作,所述测试对象为所述测试信息中元素标识指示的页面元素,所述测试动作为所述测试信息中的操作动作;
第二测试单元,用于根据所述测试指令,对所述测试对象执行所述测试动作。
可选的,所述元素标识包括:页面元素所在页面的页面名称、页面元素所用组件的类型名称、页面元素的名称以及序号。
可选的,所述操作数据信息还包括:所述终端设备的设备信息。
可选的,所述设备信息至少包括:所述终端设备的设备号。
第三方面,本发明实施例还提供一种电子设备,包括:处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现如上所述的应用软件的测试方法中的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的应用软件的测试方法中的步骤。
在本发明实施例中,获取用户操作待测试应用软件中页面元素时触发的操作数据信息。通过用户操作待测试应用软件,从而触发操作数据信息,其中每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。然后将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息。其中测试信息至少包括:元素标识以及操作动作。在接收到测试信息之后,确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。由于每个页面元素具有不同的元素标识,所有根据元素标识定位页面元素时,只需要匹配每个页面元素的页面元素即可,并不依赖于页面元素识别。不仅可以简单快速的定位到对应的页面元素,同时还保证了定位的准确性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的应用于终端设备的应用软件的测试方法的步骤流程图;
图2为本发明实施例提供的应用于测试服务器的应用软件的测试方法的步骤流程图;
图3为本发明实施例提供的应用于终端设备的应用软件的测试装置的结构框图;
图4为本发明实施例提供的应用于测试服务器的应用软件的测试装置的结构框图;
图5为本发明实施例的应用软件的测试方法的应用架构图;
图6为本发明实施例的应用软件的测试方法的应用流程图;
图7为本发明实施例提供的电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
参见图1,本发明实施例提供了一种应用软件的测试方法,应用于终端设备,该方法包括:
步骤101,获取用户操作待测试应用软件中页面元素时触发的操作数据信息。
应当说明的是,终端设备为可以连接互联网,并且可以安装应用程序的电子设备。例如终端设备可以为智能手机或者平板电脑等。待测试应用软件安装于终端设备上,用户通过该终端设备可以对待测试应用软件进行各种操作。
待测试应用软件可以为小程序或者原生态应用,但不限于此。该待测试应用软件中每个页面元素具有不同的元素标识,并且操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。较佳的,该元素标识可以包括:页面元素所在页面的页面名称、页面元素所用组件的类型名称、页面元素的名称以及序号。例如,某一页面元素所在页面的页面名称为addCus,该页面元素所用组件的类型名称为input,该页面元素的名称为in,该页面元素的序号为001,则元素标识为addCus_input_in_001。当然在取组件的类型名称和页面名称时,可以取全称或者简称。操作动作可以为点击、滑动等,该终端设备可以根据现有技术识别并获取操作动作,在此不再赘述。较佳的,操作数据信息中还携带有终端设备的设备信息。该设备信息可以为终端设备的标识;即通过设备信息可以确定唯一的终端设备。例如该设备信息至少包括终端设备的设备号。每个终端设备具有不同的设备号,从而通过设备号就可以区分不同终端设备。操作数据信息还可以包括用户触发页面元素时输入的操作内容,例如该操作内容可以为待测试应用软件的输入框中输入的内容。
较佳的,可以通过增加页面元素属性的方式,将页面元素与元素标识进行关联。具体的,待测试应用软件中每个页面元素均具有标识属性,并且标识属性中存储有元素标识。
为获取用户操作待测试应用软件时的操作数据信息,待测试应用软件中每个页面元素分别绑定有预设方法,当页面元素被操作时,触发预设方法,获取操作数据信息。较佳的,还可以设置模式转换开关,实现生产及测试两种模式,在生产模式下,用户操作待测试应用软件时不会触发操作数据信息;在测试模式下,用户操作待测试应用软件时会触发操作数据信息。
步骤102,将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息。
应当说明的是,可以通过测试服务器生成测试案例,然后控制待测试应用软件按照测试案例进行自动化测试。测试信息至少包括:元素标识以及操作动作。较佳的,测试信息还包括用户触发页面元素时输入的操作内容,例如该操作内容可以为待测试应用软件中的输入框中输入的内容。终端设备与测试服务器通过网络连接,因此可以是实现多台终端设备与同一台测试服务器的连接,进而实现多机联测,并且实现多平台测试。每个终端设备的测试案例由其本身触发的操作数据信息生成,并且不依赖于页面元素识别,从而可以兼容各种机型。在发送操作数据信息时,可以将操作数据信息转换为JSON(JavaScriptObject Notation)格式再进行发送,但不限于此。具体的,将所述操作数据信息封装为JSON格式;将封装后的所述操作数据信息发送至测试服务器。
步骤103,接收测试信息,并确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。
应当说明的是,在接收到测试信息之后,首先对测试信息进行识别,若接收到的测试信息为JSON格式,那么先对测试信息进行解析,根据解析得到的数据控制终端设备模拟用户手动触发待测试应用软件的操作。当页面元素为输入框时,将测试信息中的操作内容填充到输入框中。
本发明实施例中,获取用户操作待测试应用软件中页面元素时触发的操作数据信息。通过用户操作待测试应用软件,从而触发操作数据信息,其中每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。然后将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息。其中测试信息至少包括:元素标识以及操作动作。在接收到测试信息之后,确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。由于每个页面元素具有不同的元素标识,所以根据元素标识定位页面元素时,只需要匹配每个页面元素的页面元素即可,并不依赖于页面元素识别。不仅可以简单快速的定位到对应的页面元素,同时还保证了定位的准确性。
在上述发明实施例的基础上,本发明实施例中,确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作的步骤包括:
根据测试信息,生成测试指令;其中,测试指令包括测试对象以及测试动作,测试对象为测试信息中元素标识指示的页面元素,测试动作为测试信息中的操作动作;
根据测试指令,对测试对象执行测试动作。
应当说明的是,根据测试指令,可以确定需要被操作的页面元素以及需要进行哪种操作动作。控制终端设备执行测试指令,可以模拟用户手动触发待测试应用软件的操作,实现待测试应用软件的自动化测试,无需人工操作。
参见图2,本发明实施例提供了一种应用软件的测试方法,应用于测试服务器,该方法包括:
步骤201,接收终端设备发送的操作数据信息。
应当说明的是,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。较佳的,操作数据信息还可以包括用户触发页面元素时输入的操作内容,例如该操作内容可以为待测试应用软件中的输入框中输入的内容。用户通过操作终端设备上的待测试应用软件,将触发操作数据信息。并将触发的操作数据信息发送至测试服务器。该测试服务器与终端设备通过互联网连接。在接收到操作数据信息时,可以先检测操作数据信息的数据格式;若为JSON格式,则需要先对操作数据信息进行解析。
步骤202,根据操作数据信息生成测试案例,其中测试案例包括多条测试信息。
应当说明的是,生成的测试案例可以为excel表格形式。每一行存储一条测试信息。其中测试信息至少包括:元素标识以及操作动作。较佳的,测试信息还包括用户触发页面元素时输入的操作内容,例如该操作内容可以为待测试应用软件中的输入框中输入的内容。
步骤203,将测试信息发送至终端设备,以使终端设备确定测试信息中元素标识指示的目标页面元素,并对目标页面元素执行测试信息中的操作动作。
应当说明的是,将测试案例中的测试信息逐条发送至终端设备;
本发明实施例中,接收终端设备发送的操作数据信息,其中操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。通过用户操作待测试应用软件,从而触发操作数据信息。然后根据操作数据信息生成测试案例,将测试信息发送至终端设备,以使终端设备确定测试信息中元素标识指示的目标页面元素,并对目标页面元素执行测试信息中的操作动作。由于每个页面元素具有不同的元素标识,所以根据元素标识定位页面元素时,只需要匹配每个页面元素的页面元素即可,并不依赖于页面元素识别。不仅可以简单快速的定位到对应的页面元素,同时还保证了定位的准确性。
为了实现多机联测,在上述发明实施例的基础上,本发明实施例中,操作数据信息还包括终端设备的设备信息,测试服务器预先存储有多个目标终端设备的设备信息;
当测试服务器接收到终端设备发送的操作数据信息时,通过操作数据信息中的设备信息与多个目标终端设备的设备信息进行匹配;若匹配成功,则执行根据操作数据信息生成测试案例的步骤。
应当说明的是,匹配成功则说明接收到的操作数据信息中的设备信息,与多个目标终端设备中的一个目标终端设备的设备信息相同。若匹配失败,则忽略接收到的操作数据信息,不会针对接收到的操作数据信息生成测试案例。
测试服务器预先存储目标终端设备的设备信息的步骤包括:通过目标终端设备和待测试应用软件通信时,测试服务器获取http(超文本传输协议,Hyper Text TransferProtocol)或者https(超文本传输安全协议,Hyper Text Transfer Protocol overSecureSocket Layer)请求中的设备信息,记录下来,生成token,作为通信令牌。
以上介绍了本发明实施例提供的应用软件的测试方法,下面将结合附图介绍本发明实施例提供的应用软件的测试装置。
参见图3,本发明实施例还提供了一种应用软件的测试装置,应用于终端设备,该装置包括:
获取模块31,用于获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作;
发送模块32,用于将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息,其中测试信息至少包括:元素标识以及操作动作;
测试模块33,用于接收测试信息,并确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。
可选的,待测试应用软件中每个页面元素均具有标识属性,并且标识属性中存储有元素标识。
可选的,待测试应用软件中每个页面元素分别绑定有预设方法,当页面元素被操作时,触发预设方法,获取操作数据信息。
可选的,测试模块33包括:
第一测试单元,用于根据测试信息,生成测试指令;其中,测试指令包括测试对象以及测试动作,测试对象为测试信息中元素标识指示的页面元素,测试动作为测试信息中的操作动作;
第二测试单元,用于根据测试指令,对测试对象执行测试动作。
可选的,发送模块32包括:
封装单元,用于将操作数据信息封装为JSON格式;
发送单元,用于将封装后的操作数据信息发送至测试服务器。
可选的,元素标识包括:页面元素所在页面的页面名称、页面元素所用组件的类型名称、页面元素的名称以及序号。
可选的,操作数据信息还包括:终端设备的设备信息。
可选的,设备信息至少包括终端设备的设备号。
本发明实施例提供的应用软件的测试装置能够实现图1的方法实施例中应用软件的测试方法实现的各个过程,为避免重复,这里不再赘述。
本发明实施例中,获取用户操作待测试应用软件中页面元素时触发的操作数据信息。通过用户操作待测试应用软件,从而触发操作数据信息,其中每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。然后将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息。其中测试信息至少包括:元素标识以及操作动作。在接收到测试信息之后,确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。由于每个页面元素具有不同的元素标识,所有根据元素标识定位页面元素时,只需要匹配每个页面元素的页面元素即可,并不依赖于页面元素识别。不仅可以简单快速的定位到对应的页面元素,同时还保证了定位的准确性。
参见图4,本发明实施例还提供了一种应用软件的测试装置,应用于测试服务器,该装置包括:
接收模块41,用于接收终端设备发送的操作数据信息,其中操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作;
生成模块42,用于根据操作数据信息生成测试案例,其中测试案例包括多条测试信息,测试信息至少包括:元素标识以及操作动作;
服务模块43,用于将测试信息发送至终端设备,以使终端设备确定测试信息中元素标识指示的目标页面元素,并对目标页面元素执行测试信息中的操作动作。
可选的,操作数据信息还包括终端设备的设备信息,测试服务器预先存储有多个目标终端设备的设备信息;
当测试服务器接收到终端设备发送的操作数据信息时,通过操作数据信息中的设备信息与多个目标终端设备的设备信息进行匹配;若匹配成功,则执行根据操作数据信息生成测试案例的步骤。
本发明实施例提供的应用软件的测试装置能够实现图2的方法实施例中应用软件的测试方法实现的各个过程,为避免重复,这里不再赘述。
本发明实施例中,接收终端设备发送的操作数据信息,其中操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作。通过用户操作待测试应用软件,从而触发操作数据信息。然后根据操作数据信息生成测试案例,将测试信息发送至终端设备,以使终端设备确定测试信息中元素标识指示的目标页面元素,并对目标页面元素执行测试信息中的操作动作。由于每个页面元素具有不同的元素标识,所以根据元素标识定位页面元素时,只需要匹配每个页面元素的页面元素即可,并不依赖于页面元素识别。不仅可以简单快速的定位到对应的页面元素,同时还保证了定位的准确性。
如图5所示,本发明实施例还提供了一种应用软件的测试方法应用架构图,其中该架构图中的组件装置包括工具、引擎和服务三部分,其中引擎设置在待测试应用软件中,工具和服务设置在测试服务器中。
工具用于在待测试应用软件开发时,为每个页面元素生成一个唯一的元素标识,并对页面元素添加标识属性,将元素标识添加到元素的标识属性中。例如开发时调用组件装置的工具,以添加客户页面为例,在页面布局时,如客户姓名这个输入框,自动获取到页面名称,所用组件的类型以及组件名称类,那生成的元素标识为addCus_inp_name_001。所用组件还可以为视图容器VIEW,基础内容组件TEXT,表单组件BUTTON、CHECKBOX、INPUT、LABEL、RADIO、SWITCH,导航组件NAVIGATOR,媒体组件IMAGE,地图组件MAP,画布组件CANVAS等。
工具还用于配置需要自动测试的移动终端,即通过保存多个移动终端的设备信息,以使该多个设备信息指示的移动终端可以进行自动测试,其余移动终端即使安装待测试应用软件,也将无法进行自动测试,但仍然可以采用手动测试的方式进行测试。
用户通过移动终端操作待测试应用软件时会触发引擎,将元素标识、操作动作、移动终端的设备信息以及操作内容封装成JSON形式发送至测试服务器中的服务。其中操作内容可以为空,若页面元素为输入框,则操作内容为输入框中的内容,则操作内容不为空。若页面元素为一按钮,则操作内容为空。
测试服务器的服务接收引擎发送的信息并进行解析。记录解析出的信息并形成案例,输入到excel文档中,包括,元素标识,操作动作,以及操作内容。然后在根据测试案例进行测试时,将excel中的每一行转换成JSON格式发送至移动终端中的引擎。引擎解析并执行相关命令,模拟手工进行控件操作,实现自动化测试。当多个移动终端通过网络连接测试服务器时,即可实现多机联测。
所以整个过程不依赖于页面元素识别,从而兼容各种机型。通过自写组件向测试服务器发布信息,仅需要网络连接即可,从而支持多平台测试,并且可以实现多机联测。还可以过配置来实现两种模式:测试,生产。生产环境调用组件装置的工具失效,安全便捷。
如图6所示,本发明实施例还提供了一种应用软件的测试方法应用流程图,其中包括开发方、装置组件方以及测试方。
开发方用于开发应用程序,在进行页面布局时调用装置组件方,对每个页面元素添加身份标识(ID);同时对页面元素的操作绑定引擎事件。对于组件装置方来讲此过程中,将自动为页面元素生成对应的ID。装置组件方还可以设置需要连接的移动端,该移动端为测试过程中使用的终端设备。可以在装置组件方中预先存储移动端的设备信息,例如设备号。从而使得装置组件方仅能够响应设备信息指示的移动端。
测试方通过手动执行测试案例,将触发引擎。装置组件方的引擎被触发之后,将记录操作对象以及内容,并根据操作对象和内容生成自动测试案例。装置组件方自动执行自动测试案例,可以模仿测试方手动测试应用程序。
当装置组件方设置有多个移动端时,即预先存储多个移动端的设备号。可以通过该多个移动端同时与装置组件方通信,实现自动化多机联测。
本发明实施例中,整个过程不依赖于页面元素识别,从而兼容各种机型。通过预先存储多个移动端的设备号,可以实现多机联测。
另一方面,本发明实施例还提供了一种电子设备,包括存储器、处理器、总线以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述应用软件的测试方法中的步骤。
举个例子如下,图7示出了一种电子设备的实体结构示意图。
如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:
获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作;
将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息,其中测试信息至少包括:元素标识以及操作动作;
接收测试信息,并确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。
或
接收终端设备发送的操作数据信息,其中操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作;
根据操作数据信息生成测试案例,其中测试案例包括多条测试信息,测试信息至少包括:元素标识以及操作动作;
将测试信息发送至终端设备,以使终端设备确定测试信息中元素标识指示的目标页面元素,并对目标页面元素执行测试信息中的操作动作。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的应用软件的测试方法,例如包括:
获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个页面元素具有不同的元素标识,操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作;
将操作数据信息发送至测试服务器,以使测试服务器根据操作数据信息生成测试案例,并根据测试案例返回测试信息,其中测试信息至少包括:元素标识以及操作动作;
接收测试信息,并确定测试信息中元素标识指示的目标页面元素,对目标页面元素执行测试信息中的操作动作。
或
接收终端设备发送的操作数据信息,其中操作数据信息至少包括:元素标识以及元素标识指示的页面元素被操作时的操作动作;
根据操作数据信息生成测试案例,其中测试案例包括多条测试信息,测试信息至少包括:元素标识以及操作动作;
将测试信息发送至终端设备,以使终端设备确定测试信息中元素标识指示的目标页面元素,并对目标页面元素执行测试信息中的操作动作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种应用软件的测试方法,应用于终端设备,其特征在于,所述方法包括:
获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个所述页面元素具有不同的元素标识,所述操作数据信息至少包括:元素标识以及所述元素标识指示的页面元素被操作时的操作动作;
将所述操作数据信息发送至测试服务器,以使所述测试服务器根据所述操作数据信息生成测试案例,并根据测试案例返回测试信息,其中所述测试信息至少包括:元素标识以及操作动作;
接收所述测试信息,并确定所述测试信息中元素标识指示的目标页面元素,对所述目标页面元素执行所述测试信息中的操作动作。
2.根据权利要求1所述的方法,其特征在于,所述待测试应用软件中每个页面元素均具有标识属性,并且所述标识属性中存储有元素标识。
3.根据权利要求1所述的方法,其特征在于,所述待测试应用软件中每个页面元素分别绑定有预设方法,当所述页面元素被操作时,触发所述预设方法,获取所述操作数据信息。
4.根据权利要求1所述的方法,其特征在于,所述确定所述测试信息中元素标识指示的目标页面元素,对所述目标页面元素执行所述测试信息中的操作动作的步骤包括:
根据所述测试信息,生成测试指令;其中,所述测试指令包括测试对象以及测试动作,所述测试对象为所述测试信息中元素标识指示的页面元素,所述测试动作为所述测试信息中的操作动作;
根据所述测试指令,对所述测试对象执行所述测试动作。
5.根据权利要求1所述的方法,其特征在于,所述元素标识包括:页面元素所在页面的页面名称、页面元素所用组件的类型名称、页面元素的名称以及序号。
6.根据权利要求1所述的方法,其特征在于,所述操作数据信息还包括:所述终端设备的设备信息。
7.根据权利要求6所述的方法,其特征在于,所述设备信息至少包括:所述终端设备的设备号。
8.一种应用软件的测试装置,应用于终端设备,其特征在于,所述装置包括:
获取模块,用于获取用户操作待测试应用软件中页面元素时触发的操作数据信息,其中每个所述页面元素具有不同的元素标识,所述操作数据信息至少包括:元素标识以及所述元素标识指示的页面元素被操作时的操作动作;
发送模块,用于将所述操作数据信息发送至测试服务器,以使所述测试服务器根据所述操作数据信息生成测试案例,并根据测试案例返回测试信息,其中所述测试信息至少包括:元素标识以及操作动作;
测试模块,用于接收所述测试信息,并确定所述测试信息中元素标识指示的目标页面元素,对所述目标页面元素执行所述测试信息中的操作动作。
9.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1至7中任一项所述的应用软件的测试方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的应用软件的测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010457028.3A CN111679974A (zh) | 2020-05-26 | 2020-05-26 | 一种应用程序的测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010457028.3A CN111679974A (zh) | 2020-05-26 | 2020-05-26 | 一种应用程序的测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111679974A true CN111679974A (zh) | 2020-09-18 |
Family
ID=72434857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010457028.3A Pending CN111679974A (zh) | 2020-05-26 | 2020-05-26 | 一种应用程序的测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111679974A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597025A (zh) * | 2020-12-25 | 2021-04-02 | 中国农业银行股份有限公司 | 一种测试案例生成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521121A (zh) * | 2011-11-18 | 2012-06-27 | 华为技术有限公司 | 一种页面测试方法和页面测试装置 |
CN109669873A (zh) * | 2018-12-27 | 2019-04-23 | 拉扎斯网络科技(上海)有限公司 | 用户界面自动测试方法及装置、电子设备及存储介质 |
CN110275834A (zh) * | 2019-06-25 | 2019-09-24 | 中国工商银行股份有限公司 | 用户界面自动化测试系统及方法 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110704304A (zh) * | 2019-09-06 | 2020-01-17 | 平安普惠企业管理有限公司 | 一种应用程序测试方法、装置、存储介质和服务器 |
CN111104324A (zh) * | 2019-12-17 | 2020-05-05 | 广州品唯软件有限公司 | 测试用例的生成方法、生成装置及计算机可读存储介质 |
-
2020
- 2020-05-26 CN CN202010457028.3A patent/CN111679974A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521121A (zh) * | 2011-11-18 | 2012-06-27 | 华为技术有限公司 | 一种页面测试方法和页面测试装置 |
CN109669873A (zh) * | 2018-12-27 | 2019-04-23 | 拉扎斯网络科技(上海)有限公司 | 用户界面自动测试方法及装置、电子设备及存储介质 |
CN110297758A (zh) * | 2019-05-20 | 2019-10-01 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置及计算机可读存储介质 |
CN110275834A (zh) * | 2019-06-25 | 2019-09-24 | 中国工商银行股份有限公司 | 用户界面自动化测试系统及方法 |
CN110704304A (zh) * | 2019-09-06 | 2020-01-17 | 平安普惠企业管理有限公司 | 一种应用程序测试方法、装置、存储介质和服务器 |
CN111104324A (zh) * | 2019-12-17 | 2020-05-05 | 广州品唯软件有限公司 | 测试用例的生成方法、生成装置及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
杨秀璋: "《Python 网络数据爬取及分析从入门到精通 爬取篇》", 北京航空航天大学出版社, pages: 163 - 164 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597025A (zh) * | 2020-12-25 | 2021-04-02 | 中国农业银行股份有限公司 | 一种测试案例生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109857667B (zh) | 接口自动化测试方法、测试装置、测试设备及存储介质 | |
CN109446071A (zh) | 接口测试方法、接口测试装置、电子设备及存储介质 | |
CN105787364B (zh) | 任务的自动化测试方法、装置及系统 | |
CN109726108B (zh) | 基于模拟数据的前端代码测试方法、装置、系统和介质 | |
CN111240973B (zh) | 基于仿真的设备测试方法、系统及可读存储介质 | |
WO2017066125A1 (en) | Test simulation for software defined networking environments | |
CN111475390A (zh) | 日志采集系统部署方法、装置、设备及存储介质 | |
CN112596784B (zh) | 一种迭代版本部署方法及装置 | |
CN112579455B (zh) | 一种接口自动化测试方法、装置、电子设备及存储介质 | |
CN113312260B (zh) | 一种接口测试方法、装置、设备及存储介质 | |
CN110908708B (zh) | 一种代码发布方法、装置和系统 | |
CN115617780A (zh) | 数据导入方法、装置、设备及存储介质 | |
CN115185822A (zh) | 软件测试方法和装置、存储介质及电子装置 | |
CN111679974A (zh) | 一种应用程序的测试方法及装置 | |
CN117370203A (zh) | 自动化测试方法、系统、电子设备及存储介质 | |
CN116431504A (zh) | 自动化测试方法、系统及装置 | |
CN112433935A (zh) | 测试方法、装置、电子设备及存储介质 | |
CN115567422B (zh) | 一种基础平台测试方法、测试终端、主机及测试系统 | |
CN109976773B (zh) | 游戏测试环境的部署方法和装置 | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN110704307A (zh) | 应用产品的测试方法、装置、用户设备及计算机存储介质 | |
CN112230938B (zh) | 工业互联网的租赁产品的配置方法和装置 | |
CN110428511B (zh) | 网点包件无人交接方法、配送员终端及中控服务器 | |
CN112256564B (zh) | 应用程序的运行方法、装置及电子设备 | |
CN114461465A (zh) | 混合cpu架构设备的微服务测试方法、系统及相关装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200918 |
|
RJ01 | Rejection of invention patent application after publication |