一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用户界面的自动化测试方法、装置、电子设备及存储介质与流程

2022-04-27 15:55:14 来源:中国专利 TAG:


1.本技术涉及软件测试技术领域,具体涉及一种用户界面的自动化测试方法、装置、电子设备及存储介质。


背景技术:

2.自动化测试是把以人为驱动的页面测试行为转化为机器执行的一种过程,自动化测试能够很大程度降低回归测试的成本,当发生一个局部影响较大功能的调整或整体的重构、优化时,需要对整个系统进行全量回归测试,自动化测试能在这些场景中大量节省成本,让软件质量在迭代上线中得到很好的保障。
3.现有业内用户界面(user interface,ui)自动化测试流程,先做测试用例评审,由人工跑完整个测试用例流程,整个测试通过后,上线功能,然后将人工跑完的测试用例编写成自动化测试脚本。如果软件功能发生变更,需要重复此操作,即先人工跑完测试用例,然后维护脚本。在这个过程中,编写脚本的工程师和人工跑测试用例的工程师通常不是同一人时,这使得人力成本大幅增长,且需要工作人员熟悉整个用例中涉及的大量元素,这会造成大量重复的工作;在一些测试时,需要大量的用例编写,甚至是上百个维度数据的随机组合,人工编写脚本较高,当发生功能变更时,脚本维护成本高。


技术实现要素:

4.针对上述问题,本技术实施例提供了一种用户界面的自动化测试方法、装置、电子设备及存储介质,以克服或者至少部分克服现有技术的不足之处。
5.第一方面,本技术实施例提供了一种用户界面的自动化测试方法,包括:
6.记录并存储人工运行待测试界面的源测试用例的执行过程信息;
7.运行测试插件,读取所述源测试用例及其执行过程信息;
8.解析读取的源测试用例及其执行过程信息,根据解析结果进行测试用例的智能化扩展;
9.基于扩展得到的衍生测试用例,生成测试脚本;
10.执行所述测试脚本,得到用户界面的自动化测试结果。
11.第二方面,本技术实施例还提供一种用户界面的自动化测试装置,所述装置包括:
12.记录单元,用于记录并存储人工运行待测试界面的源测试用例的执行过程信息;
13.读取单元,用于运行测试插件,读取所述源测试用例及其执行过程信息;
14.扩展单元,用于解析读取的目标测试用例及其执行过程信息;根据解析结果进行测试用例的智能化扩展;
15.脚本化单元,用于基于扩展得到的衍生测试用例,生成测试脚本;
16.执行单元,用于执行所述测试脚本,得到用户界面的自动化测试结果。
17.第三方面,本技术实施例还提供了一种电子设备,包括:处理器;以及存储有计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一的方法。
18.第四方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个计算机程序,所述一个或多个计算机程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一的方法。
19.本技术实施例采用的上述至少一个技术方案能够达到以下有益效果:
20.本技术通过将人工执行测试用例的执行过程信息记录下来,在自动测试时,对记录的测试用例及其执行过程信息进行读取和解析,根据解析结果智能化的扩展出更多的测试用例,并根据扩展出的衍生测试用例生成测试脚本,最后,执行测试脚本,即可得到待测试界面的自动化测试结果。本技术能够自动记录测试工程师,执行测试用例的整个过程,能方便测试工程师跟踪记录测试过程;在执行完用例的同时,通过智能化手段,准备好自动化测试相关数据,大量减少测试用例编写的工作量及成本;在待测试界面的功能发生变更时,能自动联想扩展测试用例,不需要对测试用例做高成本的维护工作;且针对一个测试项目,能够获得人工执行用例的情况和自动化测试运行的情况,以便进行对比,形成人工与自动化的对比结果,以便对测试过程进行优化;且本技术测试效率高、测试成本低,实用性强。
附图说明
21.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
22.图1示出了根据本技术的一个实施例的用户界面的自动化测试方法的流程示意图;
23.图2示出了根据本技术的另一个实施例的用户界面的自动化测试方法的流程示意图;
24.图3示出了根据本技术的一个实施例的用户界面的自动化测试装置的结构示意图;
25.图4为本技术实施例中一种电子设备的结构示意图。
具体实施方式
26.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
27.以下结合附图,详细说明本技术各实施例提供的技术方案。
28.现有业内用户界面(user interface,ui)自动化测试流程,先做测试用例评审,由人工跑完整个测试用例流程,整个测试通过后,上线功能,然后将人工跑完的测试用例编写成自动化测试脚本。如果软件功能发生变更,需要重复此操作,即先人工跑完测试用例,然后维护脚本。在这个过程中,编写脚本的工程师和人工跑测试用例的工程师通常不是同一人时,这使得人力成本大幅增长,且需要工作人员熟悉整个用例中涉及的大量元素,这会造成大量重复的工作;在一些测试时,需要大量的用例编写,甚至是上百个维度数据的随机组合,人工编写脚本较高,当发生功能变更时,脚本维护成本高。
29.针对上述问题,本技术提供一种用户界面的自动化测试方法,该方法通过将人工
执行测试用例的执行过程信息记录下来,在自动测试时,对记录的测试用例及其执行过程信息进行读取和解析,根据解析结果智能化的扩展出更多的测试用例,并根据扩展出的衍生测试用例生成测试脚本,最后,执行测试脚本,即可得到待测试界面的自动化测试结果。
30.图1示出了根据本技术的一个实施例的用户界面的自动化测试方法的流程示意图,从图1可以看出,本技术至少包括步骤s110~步骤s150:
31.步骤s110:记录并存储人工运行待测试界面的源测试用例的执行过程信息。
32.软件在版本上线前要通过验收测试,以保证质量。传统技术中,对于用户界面的测试都是通过人工进行,为了节约人力成本和时间成本,用户界面的自动化测试称为研究的热点,自动化测试是把以人为驱动的页面测试行为转化为机器执行的一种过程。
33.现有的自动化测试流程主要分为两步,先由人工编程测试用例,并做测试用例评审,由人工跑完整测试用例流程;然后将人工跑完的测试用例编写成自动化测试脚本,然后将测试用例与脚本进行关联对照,实现基于测试用例执行自动化测试的目标。当软件有功能发生变更,需要重复上述操作,即先人工跑完测试用例,然后维护脚本,编写脚本工程师和人工跑测试用例的工程师通常不是一组工作人员时,这个过程会造成人力成本会大幅增长,维护脚本的工作人员需要熟悉整个用例中涉及的元素,导致出现重复的工作成本出现,如果需要更大量的用例编写,上百个维度的数据随机组合,人工编写脚本经济成本和时间成本都很高。尤其是当新版本发布时,测试脚本维护成本会显著增大。
34.对此,本技术提供了一种用户界面的自动化测试方法,该方法能够自动记录人工运行待测试界面的测试用例的执行过程信息,在人工运行测试用例的过程中,进行测试用例的智能化拓展,实现了测试脚本的自动生成,实现了用户界面的自动化测试,本技术测试效率高、测试成本低,实用性强。
35.首先,针对一个待测试界面进行少量测试用例的人工运行,本技术中,将这些少量测试用量记为源测试用例,在人工运行源测试用例时,记录人工操作过程中,记录测试用例执行过程信息,执行过程信息包括测试用例操作过程与结果;并将测试用例与其执行过程信息对应的存储起来。在本技术的一些实施例中,可以将这些数据都记录到特意设定的数据库中,以便后续步骤读取调用。
36.步骤s120:运行测试插件,读取所述源测试用例及其执行过程信息。
37.在对待测试界面进行自动化测试时,响应自动化测试指令,读取待测试界面的源测试用例及其执行过程信息。
38.测试用例可以理解为通过自然语言描述针对待测软件或界面的具体测试操作,可以由具备非常丰富的业务背景知识的测试人员站在用户的角度编制。
39.测试用例的执行过程信息主要是指人工在执行运行测试用例时的操作,如点击元素触发事件或获取焦点,获取元素的路径信息,输入框里的输入内容,事件触发的后端接口返回数据,这些都会被记录下来。
40.读取时,将读取测试用例,以及该测试用例的执行过程信息。在读取时,可以从指定区域,如数据库中读取已经存在的待测试界面的源测试用例及其执行过程信息。
41.测试插件为现有技术中的,软件的测试插件,如谷歌插件,其可通过访问下述网址获得:http://code.google.com/chrome/extensions/getstarted.html。
42.步骤s130:解析读取的源测试用例及其执行过程信息,根据解析结果进行测试用
例的智能化扩展。
43.对读取到的源测试用例及其执行过程信息进行解析,得到源测试用例的具体内容,以及人工运行时的执行过程信息,该步骤是为了形成一个模板,以便后续对源测试用例进行智能化扩展时使用。
44.测试用例通常是按照一定的格式编写的,对于解析的过程,可以反向解析,如根据测试用例的编写格式,生成一个解析模板,通过这个解析模板对测试用例进行识别,即可得到目标信息。
45.由于对一个软件或界面的测试,需要很多的测试用例,在人工运行阶段,只是运行了少量的测试用例,对此,本技术可以基于对源测试用例及其执行过程信息的解析的基础上,进行智能化扩展,以得到更多的测试用例。这里可以理解为将源测试用例作为模板,根据模板的信息,扩展出更多的测试用例。
46.如对于一个项目,所需要的测试用例通常在6个以上,在本技术中,人工运行阶段可以只运行一个,其余通过智能化扩展得来。
47.对于智能化扩展的过程,可以根据解析出的源测试用例的结果,如自动随机补充所需要的信息。
48.步骤s140:基于扩展得到的衍生测试用例,生成测试脚本。
49.在得到若干衍生测试用例后,可自动生成测试脚本。在一个待测试软件或界面中,需要测试的项目有很多,这里可以将得到的衍生测试用例按照项目分组,并生成每个测试用例的执行过程,以生成测试脚本。
50.对于测试脚本的录制与生成参考selenium ide。selenium ide(集成开发环境)是selenium suite下的开源web自动化测试工具。与selenium webdriver和rc不同,它不需要任何编程逻辑来编写其测试脚本,而只需记录与浏览器的交互以创建测试用例。之后可以使用播放选项重新运行测试用例。
51.步骤s150:执行所述测试脚本,得到用户界面的自动化测试结果。
52.在得到测试脚本后,可执行测试脚本,具体执行的是,上述通过扩展得到的衍生测试用例,并将各衍生测试用例与对应的执行结果一一对应进行存储,在所有测试用例执行后,可得到用户界面的自动化测试结果,若一个项目的测试用例的测试结果均为通过,则可确定用户界面的自动化测试结果为通过;若一个项目的至少一个测试用例的测试结果为不通过,则对于该项目需要复核。
53.由图1所示的方法可以看出,本技术通过将人工执行测试用例的执行过程信息记录下来,在自动测试时,对记录的测试用例及其执行过程信息进行读取和解析,根据解析结果智能化的扩展出更多的测试用例,并根据扩展出的衍生测试用例生成测试脚本,最后,执行测试脚本,即可得到待测试界面的自动化测试结果。本技术能够自动记录测试工程师,执行测试用例的整个过程,能方便测试工程师跟踪记录测试过程;在执行完用例的同时,通过智能化手段,准备好自动化测试相关数据,大量减少测试用例编写的工作量及成本;在待测试界面的功能发生变更时,能自动联想扩展测试用例,不需要对测试用例做高成本的维护工作;且针对一个测试项目,能够获得人工执行用例的情况和自动化测试运行的情况,以便进行对比,形成人工与自动化的对比结果,以便对测试过程进行优化;且本技术测试效率高、测试成本低,实用性强。
54.在本技术的一些实施例中,在上述方法中,所述记录并存储人工运行测试用例的执行过程信息包括:确定对所述待测试界面中各界面组件的人工操作信息;记录并存储所述人工操作信息,其中,所述人工操作信息包括但不限于人工对各组件的操作形式、操作顺序、在各组件内填写的信息等。
55.待测试界面由多个界面组件组成,如文字、图像,在这些文字和图像中承载多个填写项、可选择项等等。在人工测试时,测试工程师会将测试用例中的信息添加到待测试界面中,本技术要记录并存储人工运行测试用例的执行过程信息,不仅包括上述的具体添加到待测试界面中的内容,还包括用户进行的操作,如记录人工测试过程中,点击元素触发事件或获取焦点,获取元素的xpath路径信息,输入框里的输入内容,事件触发的后端接口返回数据,这些都会被记录下来。
56.以待测试项目为验证登录为例,测试工程师会在待测试界面填写用户名、密码等元素,这时可将这些信息均记录下来,具体记录的信息包括但不限于:1、用户名元素xpath:#username获取焦点;2、输入内容admin1;3、密码元素xpath:#password获取焦点;4、输入内容admin2;5、点击登录按钮元素xpath:button.signin-button;6、后端接口返回内容{data:{},status:success},如此当一个测试用例就执行完,同时整个过程被记录下来了。
57.在本技术的一些实施例中,为了后续解析方便,可以将这些数据按照一定的预设格式或数据结构进行存储,以便后续解析。
58.在本技术的一些实施例中,在上述方法中,所述运行测试插件,读取所述源测试用例及其执行过程信息,包括:确定待测试界面的若干测试项目;根据所述测试项目,在数据库中进行检索,得到与所述测试项目对应的至少一个源测试用例,并读取其执行过程信息;或,确定待测试界面的身份信息;根据所述身份信息,在数据库中进行检索,得到与所述测试项目一致的至少一个源测试用例,并读取其执行过程信息。
59.也就是说,当将源测试用例及其执行过程信息存在数据中时,可通过在数据库中进行检索,得到源测试用例及其执行过程信息。
60.一个测试用例可以针对一个待测试界面中的一个项目进行编写,也可以针对一个待测试界面编写,如果是前者,可以根据待测试界面的项目信息,如名称、身份编码等在数据库中检索确定源测试用例及其执行过程结果;如果是后者,可以直接根据待测试界面的身份信息,如软件名称、身份编码等在数据库中检索确定源测试用例及其执行过程结果。
61.在本技术的一些实施例中,所述解析读取的源测试用例及其执行过程信息包括:根据预设格式解析源测试用例的执行过程信息,得到多个元素及对应的元素属性值。
62.仍然以上述的登录验证为例,多个元素就包括用户名元素和密码元素,其中用户名元素对应的元素属性值为输入内容admin1;密码元素对应的元素属性值为输入内容admin2。
63.在对测试用例及其人工运行情况进行存储时,通常是以一定的预设格式或者是数据结构进行存储的,在解析读取的源测试用例及其执行过程信息中,可以依据逆向思维,采用存储时的预设格式对测试用例的执行过程信息进行解析,得到测试用例的多个元素,以及每个元素对应的元素属性值。
64.仍然以前述的待测试项目为验证登录为例,存储的格式可以为但不限于表1的形
式。
65.表1:
[0066][0067][0068]
注:表1只是示例性的说明,在实际中,通常以类似编程语法的数据结构进行存储。
[0069]
表1将测试用例以及测试用例的人工执行过程均记录下来,当一个测试用例就执行完,同时整个过程被记录下来了。
[0070]
当然,测试用例的描述和存储方式并不限于表1的描述方式,而能够采用任意一种描述方式。但是,一旦选择一种描述方式后,测试用例中的所有描述内容都会采用该种描述方式描述。从表1可以看出测试用例的编写和存储依据预设格式进行,并且非计算机专业人员也能读懂其描述语言。依据上述预设格式进行存储,在解析的时候,可以依据逆向思维,如采用表头为表1格式的表去过滤其中的信息,得到测试用例的元素、每个元素对应的元素属性值;进一步的,在需要的时候,也可以过滤出用户对每个元素进行的操作。在本技术的一些实施例中,在上述方法中,所述根据解析结果对测试用例进行智能化扩展包括:
[0071]
根据得到的多个元素,以及各元素对应的属性值的格式,随机生成多组元素属性值;将各组中各元素属性值回归到所述源测试用例的各元素中,得到衍生测试用例。
[0072]
在对测试用例进行智能化扩展的过程中,首先依据前述解析的方法,确定一个测试用例中包含几个元素,如前述的验证登录过程,共包含两个元素,其一是用户名,其二是密码。
[0073]
然后随机生成多组元素属性值,每组元素属性值分别包含该测试用例的所有元素,且在生成多组元素属性值时,需要根据每个元素对应的元素属性值,确定其是否有特殊的格式要求,如果没有,后续可随机生成,如果有,则依据其特殊格式。
[0074]
最后将每组元素属性值中的各元素属性值回归得到测试用例的元素对应的元素属性值中,即可得到衍生测试用例。
[0075]
输入内容可以随机生成以及进行自由组合等,比如,一组测试用例的用户名为admin,密码为123456;另一组测试用例的用户名为123456,密码为admin等等,然后将这些数据回归到测试用例中,即可扩展出成千上百个相似的测试用例出来。在本技术的一些实施例中,所述方法还包括:将所述测试脚本的运行情况展示在可视化界面上,以便用户查看。
[0076]
测试工程师在进行测试的过程中,有时需要查看各个测试用例的运行情况,这时可以通过可视化界面查看自动化测试运行情况。如dashboard,dashboard是商业智能仪表盘(business intelligence dashboard,bi dashboard)的简称,它是一般商业智能都拥有的实现数据可视化的模块,是向企业展示度量信息和关键业务指标(kpi)现状的数据虚拟化工具,非常适合软件的自动化测试。
[0077]
在本技术的一些实施例中,在上述方法中,在所述基于扩展得到的衍生测试用例,
生成测试脚本的步骤之前,还包括:获取生成的衍生测试用例的数量;响应于数量干预指令,对衍生测试用例的数量进行调整;其中,所述调整指令是人为根据已有的测试结果确定的。
[0078]
也就是说,在整个自动化测试过程中,还可以进行人为的优化。测试工程师可以根据已存在的预测试用例扩展数量,即衍生测试用例的数量,以及已经跑完的测试用例的测试结果,对测试用例的数量进行人为的干预。在接到人为设置的数量干预指令,可根据该指令进一步推算合理的测试用例的数量,在进行后续测试时,对测试用例的数量进行增减。
[0079]
图2示出了根据本技术另一个实施例的用户界面的自动化测试装置的流程示意图,从图2可以看出,本实施例包括:
[0080]
运行谷歌浏览器,运行谷歌测试插件。
[0081]
记录并存储人工运行待测试界面的源测试用例的执行过程信息,存储于数据库中。
[0082]
开启自动化测试,从数据库中读取待测试界面的源测试用例及其执行过程信息。
[0083]
解析源测试用例的执行过程信息,生成更多的衍生测试用例。
[0084]
响应于数量干预指令,对衍生测试用例的数量进行调整。
[0085]
对衍生测试用例进行脚本化,并执行新生成的脚本,得到待测试界面的自动化测试结果。
[0086]
并将衍生测试用例以及测试结果存入数据库中。
[0087]
从数据库中调取数据,可视化展示测试结果;此外,还可以对存储于数据库中的测试用例进行人工干预。
[0088]
图3示出了根据本技术的一个实施例的用户界面的自动化测试装置的结构示意图,从图3可以看出,所述用户界面的自动化测试装置300包括:
[0089]
记录单元310,用于记录并存储人工运行待测试界面的源测试用例的执行过程信息;
[0090]
读取单元320,用于运行测试插件,读取所述源测试用例及其执行过程信息;
[0091]
扩展单元330,用于解析读取的目标测试用例及其执行过程信息;根据解析结果进行测试用例的智能化扩展;
[0092]
脚本化单元340,用于基于扩展得到的衍生测试用例,生成测试脚本;
[0093]
执行单元350,用于执行所述测试脚本,得到用户界面的自动化测试结果。
[0094]
在本技术的一些实施例中,在上述装置中,记录单元310,用于确定对所述待测试界面中各界面组件的人工操作信息;记录并存储所述人工操作信息,其中,所述人工操作信息包括人工对各组件的操作形式、操作顺序、在各组件内填写的信息。
[0095]
在本技术的一些实施例中,在上述装置中,读取单元320,用于确定待测试界面的若干测试项目;根据所述测试项目,在数据库中进行检索,得到与所述测试项目对应的至少一个源测试用例,并读取其执行过程信息;或,确定待测试界面的身份信息;根据所述身份信息,在数据库中进行检索,得到与所述测试项目一致的至少一个源测试用例,并读取其执行过程信息。
[0096]
在本技术的一些实施例中,在上述装置中,扩展单元330,用于根据预设格式解析源测试用例的执行过程信息,得到多个元素及对应的元素属性值。
[0097]
在本技术的一些实施例中,在上述装置中,扩展单元330,用于随机生成多组元素属性值;将各组中各元素属性值回归到所述源测试用例中,得到衍生测试用例。
[0098]
在本技术的一些实施例中,上述装置还包括:展示单元,用于将所述测试脚本的运行情况展示在可视化界面上。
[0099]
在本技术的一些实施例中,上述装置还包括:用例数量调整单元,用于在所述基于扩展得到的衍生测试用例,生成测试脚本的步骤之前,获取生成的衍生测试用例的数量;响应于数量干预指令,对衍生测试用例的数量进行调整,其中,所述调整指令是人为根据已有的测试结果确定的。
[0100]
能够理解,上述用户界面的自动化测试装置,能够实现前述实施例中提供的用户界面的自动化测试方法的各个步骤,关于用户界面的自动化测试方法的相关阐释均适用于用户界面的自动化测试装置,此处不再赘述。
[0101]
图4是本技术的一个实施例电子设备的结构示意图。请参考图4,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
[0102]
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
[0103]
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
[0104]
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成用户界面的自动化测试装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
[0105]
记录并存储人工运行待测试界面的源测试用例的执行过程信息;
[0106]
运行测试插件,读取所述源测试用例及其执行过程信息;
[0107]
解析读取的源测试用例及其执行过程信息,根据解析结果进行测试用例的智能化扩展;
[0108]
基于扩展得到的衍生测试用例,生成测试脚本;
[0109]
执行所述测试脚本,得到用户界面的自动化测试结果。
[0110]
上述如本技术图3所示实施例揭示的用户界面的自动化测试装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,
asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
[0111]
该电子设备还可执行图3中用户界面的自动化测试装置执行的方法,并实现用户界面的自动化测试装置在图3所示实施例的功能,本技术实施例在此不再赘述。
[0112]
本技术实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图3所示实施例中用户界面的自动化测试装置执行的方法,并具体用于执行:
[0113]
记录并存储人工运行待测试界面的源测试用例的执行过程信息;
[0114]
运行测试插件,读取所述源测试用例及其执行过程信息;
[0115]
解析读取的源测试用例及其执行过程信息,根据解析结果进行测试用例的智能化扩展;
[0116]
基于扩展得到的衍生测试用例,生成测试脚本;
[0117]
执行所述测试脚本,得到用户界面的自动化测试结果。
[0118]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0119]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0120]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0121]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0122]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0123]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0124]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0125]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0126]
本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0127]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献