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

自动化测试方法以及系统与流程

2021-10-20 01:05:00 来源:中国专利 TAG:测试 自动化 方法 系统 软件


1.本发明涉及软件测试技术领域,尤其涉及一种自动化测试方法以及系统。


背景技术:

2.当今互联网软件开发公司,敏捷开发模式被广泛的运用,随着敏捷开发在软件行业的推广与发展,自动化测试在软件测试行业的地位也在逐渐上升。在敏捷开发大行其道的市场下,传统的手动测试无法满足及响应敏捷开发所带来的变化,测试需要与时俱进,自动化测试显得尤为重要。
3.自动化测试是通过一些自动化测试工具模拟人工操作验证其结果完成整个测试过程。自动化测试属于测试但是又不局限于测试,也是将软件开发过程中手动重复度高、机械化、人为容易出错的步骤通过自动化实现,以释放这类工作的人力完成自动化无法替代、有成长性或者创造性的工作。
4.传统的ui自动化测试系统依托selenium为核心,模拟用户实际操作,比如向浏览器发送(如点击、输入、拖拽等)操作指令。但是,传统ui自动化测试系统在测试过程中,需要遍历测试网页源代码,以按照层级目录逐级匹配的方式查找与测试对象相匹配的区域,由此导致测试效率极低且效果较差。同时,selenium框架代码植入测试脚本中,由于没有同一的维护入口,使得代码维护方式单一死板;并且,selenium框架中查找界面元素方式多样,由此对软件前端页面架构和测试人员具有一定的要求。
5.有鉴于此,有必要对现有技术中对ui自动化测试方法的技术予以改进,以解决上述问题。


技术实现要素:

6.本发明的目的在于揭示一种自动化测试方法以及系统,以解决现有技术中由于需要按照层级目录逐级匹配与目标对象对应区域而导致测试效率较低且效果较差的问题。
7.为解决上述技术问题,本发明是这样实现的:
8.第一方面,提供一种自动化测试方法,包括:
9.对目标测试用例进行解析,以解析出目标测试用例中的执行任务;
10.基于所述执行任务触发待测试界面的测试对象,以将测试对象对应的界面元素记为标识变量;
11.遍历字典变量以获取所述标识变量对应的测试对象名称文件,并将所述测试对象名称文件输入至数据匹配单元中,以得到测试对象名称文件对应的测试对象文件存储路径,所述数据匹配单元存储有对象、对象名称文件与对象文件存储路径的映射关系;
12.基于所述测试对象文件存储路径下载目标对象,以确定待测试界面是否存在与所述目标对象相匹配的区域。
13.第二方面,还一种自动化测试系统,包括:
14.测试单元,用于对目标测试用例进行解析以解析出目标测试用例中的应用场景和
执行任务,并基于所述执行任务触发待测试界面的测试对象,以将测试对象对应的界面元素记为标识变量;
15.获取单元,用于遍历字典变量以获取所述标识变量对应的测试对象名称文件;
16.数据匹配单元,接收所述测试对象名称文件,以得到测试对象名称文件对应的测试对象文件存储路径,所述数据匹配单元存储有对象、对象名称文件与对象文件存储路径的映射关系;
17.其中,所述测试单元基于所述测试对象文件存储路径下载目标对象,以确定待测试界面是否存在与所述目标对象相匹配的区域。
18.第三方面,提供一种计算机可读介质,其特征在于,所述计算机可读介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行如第一方面所述的方法中的步骤。
19.第四方面,还提供一种终端设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
20.与现有技术相比,本发明的有益效果如下:
21.本发明的自动化测试方法先通过对目标测试用例进行解析,并根据解析出的执行任务触发待测试界面的测试对象,以将测试对象对应的界面元素记为标识变量,然后通过遍历字典变量获取标识变量对应的测试对象名称文件,并通过将测试对象名称文件输入至数据匹配单元中得到测试对象名称文件对应的测试对象文件存储路径,从而根据测试对象文件存储路径下载目标对象,以确定待测试界面是否存在与目标对象相匹配的区域。如此,本发明通过根据测试对象文件存储路径下载的目标对象,直接在待测试界面上查找与目标对象匹配的区域,与现有技术中需遍历待测试网页源代码以按照层级目录逐级匹配与目标对象对应区域的方案相比,本发明能够快速且有效地对待测试界面是否存在与目标对象相匹配的区域进行测试,由此,极大提高了测试的效率和效果。
22.同时,本发明通过自动化测试方式在待测试界面上查找与目标对象匹配的区域,由此能够解决现有技术中通过selenium框架查找界面元素对软件前端页面架构和测试人员具有一定要求的问题。并且,本发明通过数据匹配单元存储对象、对象名称文件与对象文件存储路径的映射关系,以实现对不同对象所对应的名称文件和存储路径进行统一管理维护,从而解决现有技术中selenium框架植入测试脚本中由于不具有统一的维护入口而导致代码维护方式单一且影响测试效率的问题。
附图说明
23.图1为本发明一个实施例的自动化测试方法的示意性流程图;
24.图2为本发明一个实施例的自动化测试系统的示意性结构框图;
25.图3为本发明另一个实施例的自动化测试方法的示意性流程图;
26.图4为本发明再一个实施例的自动化测试方法的示意性流程图;
27.图5为本发明再一个实施例的自动化测试方法的示意性流程图;
28.图6为本发明再一个实施例的自动化测试方法的示意性流程图;
29.图7为本发明所揭示的一种计算机可读介质的拓扑图。
具体实施方式
30.下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
31.申请人通过下文示出若干实施例,以对本发明所含具体技术方案予以详细阐述。
32.实施例一:
33.图1为本发明一个实施例的自动化测试方法(以下可简称为“方法”或“测试方法”)的示意性流程图,本实施例的方法基于airtest框架实现,以解决现有技术中的ui自动化测试方案由于需要按照层级目录逐级匹配与目标对象对应区域而导致测试效率较低且效果较差的问题。结合图1和图2进行说明,该方法可包括:
34.步骤102.对目标测试用例进行解析,以解析出目标测试用例中的执行任务。
35.需要说明的是,单个测试用例一般以.feature文件格式保存,每一.feature文件中均包含一个应用场景scenario和多个执行任务或执行步骤setp。比如,其中一个.feature文件表示为feature file:given login to haihe web;when create a“kvm”machine;then i see a“kvm”machine序列流ecreate。根据输入参数值,即可确定执行单个测试用例或多个测试用例。
36.其中,参图3,在对目标测试用例进行解析之前的操作还包括:
37.步骤101.响应于第一目标输入选择目标测试用例,并将目标测试用例传输至测试单元,以通过测试单元对目标测试用例进行解析。
38.具体地,响应于第一目标输入选择目标测试用例,包括:响应于第一目标输入,接收用户端传输的测试参数,以基于测试参数中测试用例的内容选择目标测试用例。本实施例所涉及的“用户端”是指用能够发出控制指令的人或可执行程序(如机器人程序)或包含前述可执行程序的物理装置或指令发送端等。
39.其中,第一目标输入是指触发或启动本实施例的测试方法的操作。测试参数一般包括软件系统配置信息、测试用例内容、测试执行方式(包括同步执行方式或异步执行方式)以及测试脚本配置信息等。通过软件系统配置信息能够解决项目迭代的问题,预先配置支持哪些项目,以在执行测试操作时直接输入支持的项目名称即可。并且,对于同一项目存在不同版本(如淘宝存在版本1.0、2.0等,京东存在版本0.1、0.2等)的情形,通过软件系统配置信息配置该项目的各个版本,以执行对对应版本的项目的测试操作。
40.在对目标测试用例进行解析之前,且在基于测试参数中测试用例的内容选择目标测试用例之后的操作还包括:基于测试参数中的测试脚本配置信息选择测试节点,以将目标测试用例载入测试节点中。其中,测试节点可以为本地服务器或设备,也可以为远程服务器或设备。
41.需要说明的是,继续以图3进行说明,在步骤101之前,还可包括:
42.步骤100.响应于第二目标输入生成对象、对象名称文件与对象文件存储路径的映射关系,并将对象、对象名称文件与对象文件存储路径的映射关系发送至数据匹配单元202中进行存储。其中,第二目标输入是指截取或选择待测试界面中的测试对象(或测试区域)的操作。
43.在一个具体的实施例中,用户通过如截图工具截取或选择等方式获取“登录”按钮
图片(即测试对象),并将获取的图片保存为login.png文件(即为对象名称文件),以将保存的该login.png文件以及对应的测试对象文件存储路径为“/root/img/login.pgn”存放至数据匹配单元202的图片库中。
44.参图2所示,待测试界面100(具体可以为待测试界面100a、待测试界面100b

或待测试界面100n)配置为远程访问或在线访问的网页、静态网站、系统桌面等。
45.步骤104.基于执行任务触发待测试界面100的测试对象101,以将测试对象对应的界面元素记为标识变量201(即login)。
46.本实施例的测试方法通过测试单元201解析目标测试用例后,得到若干执行任务(或测试步骤),其中一个执行任务即为通过测试单元201将测试对象的界面元素标记为标识变量201。比如通过点击待测试界面的“登录”按钮(即测试对象),使测试单元201将界面元素记为标识变量login。
47.如图4所示,在步骤104之后且在步骤106之前,包括:
48.步骤105.将标识变量传送至匹配器400中,匹配器400包括字典变量,且字典变量存储有标识变量201与测试对象名称文件的映射关系。
49.步骤106.遍历字典变量以获取标识变量对应的测试对象名称文件,并将测试对象名称文件输入至数据匹配单元300中,以得到测试对象名称文件对应的测试对象文件存储路径,数据匹配单元存储有对象、对象名称文件与对象文件存储路径的映射关系。其中,数据匹配单元300在匹配的过程中,将测试对象名称文件作为key值查询与测试对象名称文件匹配的value值(即测试对象文件存储路径)。若将测试对象名称文件输入至数据匹配单元中并未得到对应的测试对象文件存储路径,则查询结果为不存在或错误。
50.其中,匹配器400配置为py文件。在触发待测试界面后,使用airtest中core组件,通过touch()函数根据key

value之前的关系获取预先设置的对象对应的测试对象名称文件,以通过测试对象名称文件输入至数据匹配单元202查找到对应的测试对象文件存储路径。
51.步骤108.基于测试对象文件存储路径下载目标对象,以确定待测试界面是否存在与目标对象相匹配的区域。
52.本实施例的自动化测试方法先通过对目标测试用例进行解析,并根据解析出的执行任务触发待测试界面的测试对象,以将测试对象对应的界面元素记为标识变量,然后通过遍历字典变量获取标识变量对应的测试对象名称文件,并通过将测试对象名称文件输入至数据匹配单元中得到测试对象名称文件对应的测试对象文件存储路径,从而根据测试对象文件存储路径下载目标对象,以确定待测试界面是否存在与目标对象相匹配的区域。如此,本实施例通过根据测试对象文件存储路径下载的目标对象,直接在待测试界面上查找与目标对象匹配的区域,与现有技术中需遍历待测试网页源代码以按照层级目录逐级匹配与目标对象对应区域的方案相比,本实施例能够快速且有效地对待测试界面是否存在与目标对象相匹配的区域进行测试,由此,极大提高了测试的效率和效果。
53.同时,本实施例通过自动化测试方式在待测试界面上查找与目标对象匹配的区域,由此能够解决现有技术中通过selenium框架查找界面元素对软件前端页面架构和测试人员具有一定要求的问题。并且,本实施例通过数据匹配单元存储对象、对象名称文件与对象文件存储路径的映射关系,以实现对不同对象所对应的名称文件和存储路径进行统一管
理维护,从而解决现有技术中selenium框架植入测试脚本中由于不具有统一的维护入口而导致代码维护方式单一且影响测试效率的问题。
54.如图5所示,在本实施例中,在步骤106之后且在步骤108之前还包括:
55.步骤107.将测试对象文件存储路径与标识变量之间的映射关系传送至测试单元201,以通过测试单元201将测试对象文件存储路径与标识变量之间的映射关系发送至存储单元500进行存储。其中,存储单元500配置有内存401和多个磁盘(如磁盘402、磁盘403等),通过测试单元200将多组测试对象文件存储路径(“/root/img/login.pgn”)与对应的标识变量201(即login)之间的映射关系分别发送至内存401、磁盘402、磁盘403进行存储。
56.进一步地,如图6所示,在步骤107之后且在步骤108之前的操作还包括:
57.步骤1071.通过测试单元201获取存储单元500存储的测试对象文件存储路径与标识变量之间的映射关系。
58.步骤1072.通过测试单元201对测试对象文件存储路径进行解析,以基于解析后的测试对象文件存储路径查询目标对象。
59.本实施例在通过数据匹配单元300查询到与标识变量对应的测试对象文件存储路径后,通过测试单元200将不同组标识变量与对应的测试对象文件存储路径之间的映射关系存储到存储单元500中,并通过测试单元200获取存储单元500中存储的标识变量与测试对象文件存储路径之间的映射关系,以基于测试对象文件存储路径查询目标对象。由此,本实施例的自动化测试方法对于不同的测试用例通过匹配器400和数据匹配单元300对测试对象对应的测试对象名称文件、以及测试对象文件存储路径进行查询即可直接在待测试界面上查找与目标对象匹配的区域,而无需按照层级目录逐级匹配与目标对象对应区域,因此极大提高了对不同测试用例进行测试的效率。
60.此外,本实施例的自动化测试方法在所有测试用例执行完毕后,通过测试单元200自动搜集所有测试用例对应的执行日志,并扫描每条测试用例日志,将测试用例的日志存储到系统变量中以生成统计报告,从而反馈至指定人员。
61.在本实施例一个具体的实施例中,参图2所示,自动化测试方法的具体过程可以为:
62.步骤(1):通过如截图工具截取或选择等方式获取“登录”按钮图片(即测试对象),并将其保存为login.png文件(即为对象名称文件),以将保存的该login.png文件以及对应的测试对象文件存储路径为“/root/img/login.pgn”存放至数据匹配单元202的图片库中。
63.步骤(2):选择测试用例,以网络等方式传输至测试单元200中,通过测试单元200对测试用例进行解析,以根据解析后得到的执行任务触发待测试界面100的测试对象101,从而将测试对象对应的界面元素记为标识变量201(即login)。
64.步骤(3):将标识变量传送至匹配器400中,通过匹配器400遍历字典变量,以标识变量(login)作为字典的key值查询到与其匹配的测试对象名称文件。
65.步骤(4):将查询的测试对象名称文件传送至数据匹配单元300中,以测试对象名称文件作为key值查询到与测试对象名称文件匹配的测试对象文件存储路径。
66.步骤(5):将测试对象文件存储路径与标识变量之间的映射关系传送至测试单元201,以进入步骤(6)中通过测试单元201将测试对象文件存储路径与标识变量之间的映射关系发送至存储单元500进行存储。
67.步骤(7):测试单元201获取存储单元500存储的测试对象文件存储路径与标识变量之间的映射关系,以对测试对象文件存储路径进行解析。
68.步骤(8):将解析后的测试对象文件存储路径反馈至待测试界面100,以通过测试对象文件存储路径下载对应图片(即目标对象),并通过图像分析技术对下载的图片和待测试界面进行对比。具体对比过程为,通过图像分析技术逐步分析该图片得到若干组特征值,根据这些特征值通过网络远程的方式连接软件系统10,以进行可视化的特征值比对,通过算法即可得到比对结果,结果一般为待测试界面100存在或不存在基于测试对象文件存储路径下载的图片(即目标对象)。其中,特征值是比对颗粒度是可以预先设置的,以便于提高识别正确率。本实施例中,对下载的图片和待测试界面进行对比的过程为本领域所熟知的技术,对此不再赘述。
69.本实施例的自动化测试方法通过根据测试对象文件存储路径下载的图片,直接在待测试界面100上查找与该图片相匹配的区域,与现有技术中需遍历待测试网页源代码以按照层级目录逐级匹配与目标对象对应区域的方案相比,本实施例能够快速且有效地对待测试界面是否存在与目标对象相匹配的区域进行测试,由此,极大提高了测试的效率和效果。
70.实施例二:
71.如图2所示,本实施例还提供一种自动化测试系统,包括:测试单元201,用于对目标测试用例进行解析以解析出目标测试用例中的执行任务,并基于执行任务触发待测试界面100的测试对象101,以将测试对象对应的界面元素记为标识变量;匹配器400,用于遍历字典变量以获取标识变量对应的测试对象名称文件;数据匹配单元300,接收测试对象名称文件,以得到测试对象名称文件对应的测试对象文件存储路径,数据匹配单元300存储有对象、对象名称文件与对象文件存储路径的映射关系;其中,测试单元201基于测试对象文件存储路径下载目标对象,以确定待测试界面100是否存在与目标对象相匹配的区域。
72.本实施例的自动化测试系统先测试单元201通过对目标测试用例进行解析,并根据解析出的执行任务触发待测试界面100的测试对象101,以将测试对象对应的界面元素记为标识变量,然后通过遍历字典变量获取标识变量对应的测试对象名称文件,并通过将测试对象名称文件输入至数据匹配单元300中得到测试对象名称文件对应的测试对象文件存储路径,从而根据测试对象文件存储路径下载目标对象,以确定待测试界面100是否存在与目标对象相匹配的区域。如此,本实施例通过根据测试对象文件存储路径下载的目标对象,直接在待测试界面上查找与目标对象匹配的区域,与现有技术中需遍历待测试网页源代码以按照层级目录逐级匹配与目标对象对应区域的方案相比,本发明能够快速且有效地对待测试界面是否存在与目标对象相匹配的区域进行测试,由此,极大提高了测试的效率和效果。
73.同时,本实施例通过自动化测试方式在待测试界面上查找与目标对象匹配的区域,由此能够解决现有技术中通过selenium框架查找界面元素对软件前端页面架构和测试人员具有一定要求的问题。并且,本实施例通过数据匹配单元300存储对象、对象名称文件与对象文件存储路径的映射关系,以实现对不同对象所对应的名称文件和存储路径进行统一管理维护,从而解决现有技术中selenium框架植入测试脚本中由于不具有统一的维护入口而导致代码维护方式单一且影响测试效率的问题。
74.本实施例的自动化测试系统还包括存储单元500,用于接收并存储测试单元传送的测试对象文件存储路径与标识变量之间的映射关系。
75.本实施例在通过数据匹配单元300查询到与标识变量对应的测试对象文件存储路径后,通过测试单元200将不同组标识变量与对应的测试对象文件存储路径之间的映射关系存储到存储单元500中,并通过测试单元200获取存储单元500中存储的标识变量与测试对象文件存储路径之间的映射关系,以基于测试对象文件存储路径查询目标对象。由此,本实施例的自动化测试方法对于不同的测试用例通过匹配器400和数据匹配单元300对测试对象对应的测试对象名称文件、以及测试对象文件存储路径进行查询即可直接在待测试界面上查找与目标对象匹配的区域,而无需按照层级目录逐级匹配与目标对象对应区域,因此极大提高了对不同测试用例进行测试的效率。
76.本实施例与实施例一中相同或相似部分的技术方案,请参实施例一所述,对此不做详细赘述。
77.实施例三:
78.结合图7所示,本实施例揭示了一种计算机可读介质700的一种具体实施方式。该计算机可读介质700可整体或者部分配置于物理形态的计算机、服务器、集群服务器或者数据中心中。
79.在本实施例中,一种计算机可读介质700,该计算机可读介质700中存储有计算机程序指令701,计算机程序指令701被一处理器读702读取并运行时,执行如实施例一所揭示的产品属性更新方法中的步骤。
80.可选地,计算机可读介质700可配置为服务器,且该服务器运行于构建私有云、混合云或者公有云的物理设备上。同时,该计算机可读介质800还可被配置为随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read

only memory,prom),可擦除只读存储器(erasable programmable read

only memory,eprom),电可擦除只读存储器(electric erasable programmable read

only memory,eeprom)等。
81.该计算机可读介质700用于存储程序,处理器702在接收到执行指令后,以执行实施例一所揭示的产品属性更新方法。
82.同时,本实施例所揭示的处理器702可能是一种集成电路芯片,具有信号的处理能力。该处理器702可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field

programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规处理器。
83.本实施例所揭示的一种计算机可读介质中与实施例一和/或实施例二中相同部分的技术方案,请参实施例一和/或实施例二,在此不再赘述。
84.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
85.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
86.优选地,本发明实施例还提供一种终端设备,其可包括处理器,存储器,存储在存储器上并可在所述处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述图1,图3至图6所示的方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
87.上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
88.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
89.此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜