页面组件的测试方法、系统、设备及存储介质与流程
1.本发明涉及计算机技术领域,尤其涉及一种页面组件的测试方法、系统、设备及存储介质。
背景技术:
2.在规模较大的集团公司内部,不同的业务部门单独开发自己业务部门所需要的组件,并且构建各自的组件库。但是在验收部门对开发的组件进行验收时,如果是组件库的组件,则不需要进行测验,如果是自行新开发的组件,则需要对其进行测验。传统的验收方法是设计师拿组件页面截图跟设计稿一一对比,这种人工验收的方法效率较低,因此衍生出组件自动检视工具,该组件自动检视工具通过在组件最外层dom节点加个class类名或设置属性等操作来标识这是组件库的组件还是自行开发的,但是由于添加的class类名容易与组件库中其它类名重复,从而引起误差,并且需要层层变量页面节点,当页面过大时,遍历速度会减慢,测验效率太低。
技术实现要素:
3.本发明提供一种页面组件的测试方法、系统、设备及存储介质,其主要目的在于对页面组件进行区分,只对自行开发的组件进行测试,有效提高页面组件测试效率。
4.第一方面,本发明实施例提供一种页面组件的测试方法,包括:
5.通过vue框架将待测页面的信息进行实例化,获取vue待测实例,对于所述待测页面上组件,若所述组件为自行开发,则所述组件对应的名称符合预设规则;
6.对所述vue待测实例进行遍历,判断所述vue待测实例中目标字段是否为空,若不为空,则获取所述目标字段对应的内容信息,所述目标字段为所述待测页面上所述组件对应的字段,所述内容信息为所述组件的名称;
7.判断所述内容信息是否符合所述预设规则,若符合,则判断所述组件为自行开发的,对所述组件进行测试。
8.优选地,所述通过vue框架将待测页面的信息进行实例化,获取vue待测实例,包括:
9.获取所述待测页面对应的配置文件信息,所述配置文件信息包括所述待测页面名称、所述待测页面位置、所述待测页面中包含的数据、所述待测页面中包含的组件和动态脚本;
10.利用所述vue框架新建vue初始实例,并根据所述配置文件信息对所述vue初始实例进行赋值,获取所述vue待测实例,其中,所述待测页面中包含的组件被挂载在所述vue待测实例的目标字段上。
11.优选地,所述对所述vue待测实例进行遍历,判断所述vue待测实例是否包含目标字段,包括:
12.从所述vue待测实例的根节点开始进行遍历;
13.若遍历到所述目标字段,则获取所述目标字段对应的值,若所述值不为空,则将所述值存储到预设数组中,否则,继续遍历。
14.优选地,所述对所述组件进行测试,包括:
15.获取所述待测页面中所述组件对应的执行动作;
16.基于输入参数、所述执行动作和预设代码,生成测试脚本;
17.执行所述测试脚本,以获取所述待测页面中所述组件对应的执行结果;
18.若所述执行结果与所述执行动作对应的预设执行不同,则判断所述组件未通过测试。
19.优选地,所述执行动作包括输入、选择和点击。
20.优选地,所述判断所述组件为自行开发的,之后还包括:
21.对所述组件添加预设蒙层标识,以使得所述待测页面上通过所述预设蒙层标识出所述组件。
22.优选地,所述预设规则为正则表达式。
23.第二方面,本发明实施例提供一种页面组件的测试系统,包括:
24.实例化模块,用于通过vue框架将待测页面的信息进行实例化,获取vue待测实例,对于所述待测页面上组件,若所述组件为自行开发,则所述组件对应的名称符合预设规则;
25.遍历模块,用于对所述vue待测实例进行遍历,判断所述vue待测实例中目标字段是否为空,若不为空,则获取所述目标字段对应的内容信息,所述目标字段为所述待测页面上所述组件对应的字段,所述内容信息为所述组件的名称;
26.测试模块,用于判断所述内容信息是否符合所述预设规则,若符合,则判断所述组件为自行开发的,对所述组件进行测试。
27.第三方面,本发明实施例提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述页面组件的测试方法的步骤。
28.第四方面,本发明实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述页面组件的测试方法的步骤。
29.本发明提出的一种页面组件的测试方法、系统、设备及存储介质,通过vue框架将待测页面的信息进行实例化,比传统的html标签节点遍历相比,vue实例的速度更快,并且性能更佳;并且通过目标字段来存储节点名称,取代传统的html标签节点,使得页面结构看起来更加清晰明了,方便测试人员能够一目了然的看出哪块内容使用了组件;最后,通过检测出自行开发的组件,从而方便测试人员对该组件进行检测,而没有检测出的组件则无需检测,从而避免了测试人员对每个组件都进行检测,节省了测试人员的检测时间,提高了页面组件的检测效率。
附图说明
30.图1为本发明实施例提供的一种页面组件的测试方法的应用场景图;
31.图2为本发明实施例提供的一种页面组件的测试方法流程图;
32.图3为本发明实施例提供的一种对待测页面的信息进行实例化的方法流程图;
33.图4为本发明实施例中对vue待测实例进行遍历的流程图;
34.图5为本发明实施例中的组件测试方法流程图;
35.图6为本发明实施例提供的一种页面组件的测试系统的结构示意图;
36.图7为本发明实施例中提供的一种计算机设备的结构示意图。
37.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
38.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
39.图1为本发明实施例提供的一种页面组件的测试方法的应用场景图,如图1所示,用户在客户端选择待测页面,客户端将待测页面的信息发送给服务端,服务端接收到该待测页面的信息后,执行该一种页面组件的测试方法,实现对该待测页面的测试。
40.需要说明的是,服务端可以用独立的服务器或者是多个服务器组成的服务器集来实现。客户端可为智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。客户端和服务端可以通过蓝牙、usb(universal serial bus,通用串行总线)或者其他通讯连接方式进行连接,本发明实施例在此不做限制。
41.图2为本发明实施例提供的一种页面组件的测试方法流程图,如图2所示,该方法包括:
42.s210,通过vue框架将待测页面的信息进行实例化,获取vue待测实例,对于所述待测页面上组件,若所述组件为自行开发,则所述组件对应的名称符合预设规则;
43.首先选取待测页面,该待测页面为html(超文本标记语言)页面,html标签为html页面的重要组成部分,通过html标签可以描述网页页面上的不同内容,通常地,网页内容中的关键词由尖括号表示,尖括号中不同的标签符号表示不同的网页内容,网页标题、字符格式、语言、兼容性、关键字、描述等信息显示在《head》标签中,而网页需展示的内容需嵌套在《body》标签中,进一步地,网页中的按钮定义在《button》标签中,网页中的图形定义在《canvas》标签中,网页中的下拉列表定义在《datalist》标签中,网页中的选择列表选项定义在《option》标签中。在提取待测页面信息时,可以根据待测页面中的html标签去进行提取,举例地,如果要提取网页标题信息,则到《head》标签对应的内容,如果要网页按钮信息,则到《button》标签对应的内容,因此在获取到待测页面的信息时可以根据所需要获取的具体信息来确定,每个信息对应的标签名称是预先知道的,而信息所包含的具体内容可以根据实际情况来确定,本发明实施例对此不做具体限定。为了方便描述,本发明实施例中待测页面的信息包括组件信息、动态数据和脚本等为例进行说明。
44.vue框架是一套用于构建用户界面的渐进式框架,可以选择性地使用该框架的一个或者多个组件,而不需要将该框架中的所有组件都使用。在利用vue框架将待测页面的信息进行实例化时,需要先利用vue前端软件编辑器新建一个vue对象,然后根据该待测页面的名称,利用函数document.getelementbyid(“app”)._vue_获取待测页面中的相关信息,并对新建的vue对象进行实例化,其中,app表示待测页面的名称,只要知道待测页面的名称,就可以利用上述函数将待测页面的信息实例化到vue待测实例中。vue待测实例包括生命周期钩子函数、data数据、methods方法、components组件、computed计算属性和watch监听等等,vue实例有一个完整的生命周期,也就是从开始创建、初始化数据、编译模板、挂载dom、渲染、更新、渲染、卸载等一系列过程,这些过程称之为vue的生命周期,通俗说就是vue
实例从创建到销毁的过程,就是生命周期,不同的生命周期对应的生命周期钩子函数不同,一个vue实例包括八个生命周期钩子函数,在针对vue组件的生命周期函数测试中,通常需要测试vue组件中的八个生命周期函数(beforecreate函数、created函数、beforemount函数、mounted函数、beforeupdate函数、updated函数、beforedestroy函数、destroyed函数)是否能够被顺利执行。
45.另外,开发人员在进行组件开发时,当在给组件取名时,组件所取的名字要符合预设规则,该预设规则可以是组件名字镜像对称、组件名字长度范围、组件名字符合正则表达式等等,组件名字镜像对称是指组件名字以中间某个字为对称轴,其余两边的字母是对称的,组件名字长度范围是指组件名字长度在预设范围之内,该预设范围可以将模型库组件和执行开发的组件区分开,一般而言,模型库中的组件名称在8个字节范围内,那么自行开发组件时,组件名称规定在10到15个字节范围,从而可以从名字上区分出来该组件是模型库中的组件,还是自行开发的组件,具体可以根据实际情况进行确定,本发明实施例在此不进行具体的限定。
46.本发明实施例中通过vue框架将待测页面的信息进行实例化,比传统的html标签节点遍历相比,vue实例的速度更快,并且性能更佳。
47.s220,对所述vue待测实例进行遍历,判断所述vue待测实例中目标字段是否为空,若不为空,则获取所述目标字段对应的内容信息,所述目标字段为所述待测页面上所述组件对应的字段,所述内容信息为所述组件的名称;
48.接着对vue待测实例进行遍历,常见的遍历方法有for in方法、for of方法、for each方法、entries方法、keys方法和values方法等等,具体地,for in遍历对象,能够遍历出自身和继承的可枚举属性;for of遍历对象,es6中介绍的新的遍历方法,在es6中引入了和java中类似的iterator概念,实现了iterator的对象,都支持for of,es6规定,默认的iterator接口部署在数据结构的symbol.iterator属性,或者说,一个数据结构只要具有symbol.iterator属性,就可以认为是“可遍历的”,symbol.iterator属性本身是一个函数,就是当前数据结构默认的遍历器生成函数,执行这个函数,就会返回一个遍历器。两者的区别在于for in只能获得对象的键名,不能直接获取键值,for of允许遍历获得键值,数组的遍历器接口只返回具有数字索引的属性;foreach:无法中途跳出,break命令或return命令都不能奏效;entries返回一个遍历器对象,用来遍历[键名,键值]组成的数组,对于数组,键名就是索引值,对于set,键名与键值相同,map结构的iterator接口,默认就是调用entries方法;keys返回一个遍历器对象,用来遍历所有的键名;values返回一个遍历器对象,用来遍历所有的键值。具体遍历方式可以根据实际情况进行确定,本发明实施例对此不做具体限定。
[0049]
然后遍历的得到该vue待测实例的目标字段,目标字段是指用来存放待测页面组件信息的字段,具体地,本发明实施例目标字段为《options》标签的_componenttag字段,也就是待测页面上的组件都挂载在该目标字段下,得到目标字段后,判断该目标字段是否为空,具体判断方法是先提取目标字段的内容,然后判断该内容是否为空,如果不为空,则说明待测页面上是有组件的,并且目标字段中存储的是该待测页面上组件的名称。如果内容为空,则说明该待测页面上没有组件。本发明实施例中,待测页面上可以有一个组件,也可以有多个组件,当有多个组件时,就会有多个目标字段,对每个目标字段所包含的内容依次
进行判断即可。
[0050]
本发明在具体实施的过程中,将目标字段的内容存储到cmparr数组中,利用该数组来实现目标字段内容的存取。
[0051]
本发明实施例通过对vue待测实例进行遍历,避免了传统的html标签节点的遍历,通过vue框架中自带的遍历函数实现遍历,遍历速度更快,并且节约了开发人员的代码编写时间,由于是自带遍历函数,也降低了该方法的代码复杂度。
[0052]
s230,判断所述内容信息是否符合所述预设规则,若符合,则判断所述组件为自行开发的,对所述组件进行测试。
[0053]
接着对目标字段对应的内容信息进行判断,判断该内容信息是否符合预设规则,如果符合,则判断该组件为自行开发的,需要对该组件进行测试,如果不符合,则说明该组件是模型库中的,不需要对该组件进行测试。上面已经描述过,自行开发的组件在起名时,就要求所取的名字符合预设规则,现在通过该内容信息是否符合预设规则来判断该组件是否为自行开发的组件,通过前后取名的相互配合,简化了组件判定流程,从而提升了判定组件是自行开发还是来自模型库的效率,从而进一步加快了页面组件的测试效率。
[0054]
本发明实施例在具体实施时,将该页面组件的测试方法制作成为测试工具,当需要利用该测试工具对待测页面进行测试时,打开该待测试页面,使用该测试工具并执行,该测试工具会自动在该待测试页面上标记出自行开发的组件,从而方便测试人员对该组件进行检测,而没有标记出的组件则无需检测,从而避免了测试人员对每个组件都进行检测,节省了测试人员的检测时间,提高了页面组件的检测效率。
[0055]
本发明实施例提供一种页面组件的测试方法,通过vue框架将待测页面的信息进行实例化,比传统的html标签节点遍历相比,vue实例的速度更快,并且性能更佳;并且通过目标字段来存储节点名称,取代传统的html标签节点,使得页面结构看起来更加清晰明了,方便测试人员能够一目了然的看出哪块内容使用了组件;最后,通过检测出自行开发的组件,从而方便测试人员对该组件进行检测,而没有检测出的组件则无需检测,从而避免了测试人员对每个组件都进行检测,节省了测试人员的检测时间,提高了页面组件的检测效率。
[0056]
在上述实施例的基础上,优选地,图3为本发明实施例提供的一种对待测页面的信息进行实例化的方法流程图,如图3所示,所述通过vue框架将待测页面的信息进行实例化,获取vue待测实例,包括:
[0057]
s310,所述待测页面对应的配置文件信息,所述配置文件信息包括所述待测页面名称、所述待测页面位置、所述待测页面中包含的数据、所述待测页面中包含的组件和动态脚本;
[0058]
首先获取待测页面对应的配置文件信息,该配置文件信息中包括待测页面名称、待测页面位置、待测页面中包含的数据、待测页面中包含的组件和动态脚本等信息,具体获取配置文件信息可以利用预先编写好的爬虫软件实现,通过在待测页面上执行该爬虫软件,即可利用该爬虫软件遍历该待测页面上的所有组件信息,并且获取每个组件对应的配置文件信息。
[0059]
s320,利用所述vue框架新建vue初始实例,并根据所述配置文件信息对所述vue初始实例进行赋值,获取所述vue待测实例,其中,所述待测页面中包含的组件被挂载在所述vue待测实例的目标字段上。
[0060]
然后利用vue框架建立一个新的vue初始实例,具体新建方法可以利用new函数来实现,然后利用配置文件信息对vue初始实例进行赋值,最后得到该vue待测实例。
[0061]
在上述实施例的基础上,优选地,图4为本发明实施例中对vue待测实例进行遍历的流程图,如图4所示,所述对所述vue待测实例进行遍历,判断所述vue待测实例是否包含目标字段,包括:
[0062]
从所述vue待测实例的根节点开始进行遍历;
[0063]
若遍历到所述目标字段,则获取所述目标字段对应的值,若所述值不为空,则将所述值存储到预设数组中,否则,继续遍历。
[0064]
具体地,从vue待测实例的根节点进行遍历,如果遍历到目标字段,即上述提到的vue待测实例中的componenttag字段,该字段的返回值为组件名称,存放在cmparr数组中。一般而言,一个vue实例只有一个根节点,从该vue实例的根节点开始遍历,如果遍历到目标字段,则获取到该目标字段对应的值,如果该值不为空,则将其存储到预设数组中,如果为空,则从《children》标签继续遍历重复上述步骤,直至最后没有可以遍历的《children》标签,最后生成一个组件节点树。
[0065]
具体地,本发明实施例中通过如下代码实现:
[0066]
findcmptag(cmpinstance,cmparr,index){
[0067]
if(cmpinstance.$options._componenttag||cmpinstance.$vnode.data.
[0068]
routerview){
[0069]
if(!cmpinstance.$options._componettag){
[0070]
}
[0071]
cmparr.push({
…
[0072]
})
[0073]
if(cmpinstance.$children.length){
[0074]
}
[0075]
}else if(cmpinstance.$children.length){
[0076]
cmpinstance.$children.foreach((instance,index)=》{this.findcmptag(instance,cmparr,index)
[0077]
})
[0078]
}
[0079]
}
[0080]
在上述实施例的基础上,优选地,图5为本发明实施例中的组件测试方法流程图,如图5所示,所述对所述组件进行测试,包括:
[0081]
s510,获取所述待测页面中所述组件对应的执行动作;
[0082]
s520,基于输入参数、所述执行动作和预设代码,生成测试脚本;
[0083]
s530,执行所述测试脚本,以获取所述待测页面中所述组件对应的执行结果;
[0084]
s540,若所述执行结果与所述执行动作对应的预设执行不同,则判断所述组件未通过测试。
[0085]
还需要说明的是,本发明实施例中的待测页面可以为前端页面、网站页面、浏览器页面、应用页面、app页面和web页面等等,在待测页面中可以有各种不同类型的组件,比如
显示组件,可以用来显示一些文字信息、图片信息、声音信息或视频信息,又比如交互组件,可以用来获取用户输入信息的文本框,可以供用户进行选择的下拉框类别等等。为了对待测页面中的组件进行测试,具体测试方法就是对组件进行相应的操作,看结果是否是该组件的预期结果,比如对于显示组件,看该组件是否能正常显示信息,对于交互组件,如果从下拉框中选择了其中一个选项,看该组件能否出现与该选项对应的执行结果,如果能出现,就说明该组件测试通过,否则,就说明该组件有问题。本发明实施例首先获取组件对应的执行动作,该执行动作可能是输入,也可能是选择,也可能是点击,不同组件对应的执行动作是不同的,本发明实施例中可以是根据组件的具体类型,确定执行动作的类型,然后从该类型的执行动作中选取一个作为该组件的执行动作;也可以是预先通过一个映射表记录组件和对应的执行动作,因此先在该映射表中进行查,到该组件对应的执行动作。
[0086]
然后基于输入参数、执行动作和预设代码,生成测试脚本。待测页面中的输入参数也与组件类型有关,比如当组件类型是文本框时,输入信息可以包括文字、英文或标点符号等等,尽可能包括多种不同的类型的信息,当在文本框中输入该输入信息后,可以得出该文本框对不同类型输入信息的显示结果;预设代码表示自动化脚本,该自动化脚本中包含组件测试的一系列指令,这些指令可以被自动化测试工具执行,为了提高测试脚本的可维护性和可复用性,必须在执行测试脚本之前对它们进行构建,自动化脚本中预留出了组件的输入参数、执行动作等信息,当需要使用该自动化脚本时,直接结合测试时具体的输入参数和执行动作,生成了测试脚本。
[0087]
接着执行该测试脚本,获取该待测页面中组件对应的执行结果,如果该执行结果与预设执行结果不同,则判断该组件未通过测试,本发明实施例中,预设执行结果也是记录在测试脚本中的,根据输入参数、执行动作,就可以从理论上记录出该组件的反应情况,通过比对实际组件的执行情况和预设执行结果,看两者是否相同,如果不同,则认为组件未通过测试,如果相同,只有当该组件对不同类型输入参数的实际执行结果与预设执行结果相同时,才认为该组件通过测试,或者,只有当该组件在预设测试次数内实际执行结果和预设执行结果相同的比例大于预设比例,则认为该组件通过测试,不能仅仅单凭一次测试结果来判断该组件是否通过测试,其中,本发明实施例中预设测试次数和预设比例均可以根据实际情况来确定,本发明实施例对此不做具体限定。
[0088]
在上述实施例的基础上,优选地,所述判断所述组件为自行开发的,之后还包括:
[0089]
对所述组件添加预设蒙层标识,以使得所述待测页面上通过所述预设蒙层标识出所述组件。
[0090]
本发明实施例中通过判断出该组件为自行开发后,对该组件添加一个预设蒙层标识,蒙层标识是指将蒙层元素覆盖在待测页面上的组件,将蒙层元素的宽高覆盖该组件的整个宽高,这样就可以在组件上显示该蒙层元素,从而将组件标识出来,该蒙层元素可以是灰、阴影等,具体可以根据实际情况进行确定。本发明实施例在该待测试页面上标记出自行开发的组件,从而方便测试人员对该组件进行检测,而没有标记出的组件则无需检测,从而避免了测试人员对每个组件都进行检测,节省了测试人员的检测时间,提高了页面组件的检测效率。
[0091]
本发明实施例中通过对节点添加data-paui标识,在具体实施时,通过如下代码实现:
[0092]
addpauiattribute(cmparr){
[0093]
cmparr.foreach((item)=》{
[0094]
if(/kun|kun-|mu|mu-|lux|lux-/.test(item.name)){
[0095]
item.instance.$el.setattribute(
‘
data_paui’,
‘
true’)
[0096]
}else if(item.children.length){
[0097]
this.addpauiattribute(item.children)
[0098]
}
[0099]
})
[0100]
}
[0101]
在上述实施例的基础上,优选地,其特征在于,所述预设规则为正则表达式。
[0102]
具体地,本发明实施例中的预设规则为正则表达式,也就是组件的名称符合正则表达式,正则表达式,又称规则表达式,是一种文本模式,包括普通字符(例如a到z之间的字母)和特殊字符,是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。通过正则表达式可以过滤掉普通得组件名称,从而可以筛选出执行开发的组件。
[0103]
图6为本发明实施例提供的一种页面组件的测试系统的结构示意图,如图6所示,该系统包括实例化模块610、遍历模块620和测试模块630,其中:
[0104]
实例化模块610用于通过vue框架将待测页面的信息进行实例化,获取vue待测实例,对于所述待测页面上组件,若所述组件为自行开发,则所述组件对应的名称符合预设规则;
[0105]
遍历模块620用于对所述vue待测实例进行遍历,判断所述vue待测实例中目标字段是否为空,若不为空,则获取所述目标字段对应的内容信息,所述目标字段为所述待测页面上所述组件对应的字段,所述内容信息为所述组件的名称;
[0106]
测试模块630用于判断所述内容信息是否符合所述预设规则,若符合,则判断所述组件为自行开发的,对所述组件进行测试。
[0107]
本实施例为与上述方法对应的系统实施例,其具体实施过程与上述方法实施例相同,详情请参考上述方法实施例,本发明实施例在此不再赘述。
[0108]
在上述实施例的基础上,优选地,所述实例化模块包括配置单元和赋值单元,其中:
[0109]
所述配置单元用于获取所述待测页面对应的配置文件信息,所述配置文件信息包括所述待测页面名称、所述待测页面位置、所述待测页面中包含的数据、所述待测页面中包含的组件和动态脚本;
[0110]
所述赋值单元用于利用所述vue框架新建vue初始实例,并根据所述配置文件信息对所述vue初始实例进行赋值,获取所述vue待测实例,其中,所述待测页面中包含的组件被挂载在所述vue待测实例的目标字段上。
[0111]
在上述实施例的基础上,优选地,所述遍历模块包括遍历单元和判断单元,其中:
[0112]
所述遍历单元用于从所述vue待测实例的根节点开始进行遍历;
[0113]
所述判断单元用于若遍历到所述目标字段,则获取所述目标字段对应的值,若所述值不为空,则将所述值存储到预设数组中,否则,继续遍历。
[0114]
在上述实施例的基础上,优选地,所述测试模块包括获取单元、脚本单元、执行单元和比较单元,其中:
[0115]
所述获取单元用于获取所述待测页面中所述组件对应的执行动作;
[0116]
所述脚本单元用于基于输入参数、所述执行动作和预设代码,生成测试脚本;
[0117]
所述执行单元用于执行所述测试脚本,以获取所述待测页面中所述组件对应的执行结果;
[0118]
所述比较单元用于若所述执行结果与所述执行动作对应的预设执行不同,则判断所述组件未通过测试。
[0119]
在上述实施例的基础上,优选地,所述执行动作包括输入、选择和点击。
[0120]
在上述实施例的基础上,优选地,还包括蒙层模块,其中:
[0121]
所述蒙层模块用于对所述组件添加预设蒙层标识,以使得所述待测页面上通过所述预设蒙层标识出所述组件。
[0122]
在上述实施例的基础上,优选地,所述预设规则为正则表达式。
[0123]
上述页面组件的测试系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0124]
图7为本发明实施例中提供的一种计算机设备的结构示意图,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括计算机存储介质、内存储器。该计算机存储介质存储有操作系统、计算机程序和数据库。该内存储器为计算机存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行页面组件的测试方法过程中生成或获取的数据,如待测页面的信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种页面组件的测试方法。
[0125]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的页面组件的测试方法的步骤。或者,处理器执行计算机程序时实现页面组件的测试系统这一实施例中的各模块/单元的功能。
[0126]
在一实施例中,提供一计算机存储介质,该计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中页面组件的测试方法的步骤。或者,该计算机程序被处理器执行时实现上述页面组件的测试系统这一实施例中的各模块/单元的功能。
[0127]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom
(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0128]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0129]
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
