一种测试用例自动化运行方法及系统与流程

文档序号:18667802发布日期:2019-09-13 20:25阅读:218来源:国知局
一种测试用例自动化运行方法及系统与流程

本申请涉及自动化测试技术领域,尤其涉及一种测试用例自动化运行方法及系统。



背景技术:

robotframework基于selenium2library测试库的自动化测试,一种比较流行且广泛使用的自动化软件测试系统框架。robotframework测试用例编写,测试用例执行,自动生成测试报告等。在具体使用时,只需选中所有用例或者写一些pybot相关的dos命令,然后执行即可,当所有用例执行完成后会自动生成报告。测试人员只需查看测试报告来分析测试结果,很大程度上节省了手工执行用例的时间及手工执行带来的操作失误。

然而当具有成千上万个用例时,在robotframework界面点击“selectallsuits(选择所有用例)”时,则会需要几分钟的反应时间。若是具有更多的用例,那么需要的时间会更长,甚至会造成电脑会卡在robotframework界面,进而造成电脑无法执行其他操。当然可以通过dos命令写一个简单的命令也可以解决此问题,但是当测试人员想要测试如通过关键字查找想要的用例集等某些具有特殊意义的用例时,不管是从界面一个一个双击选中用例还是一行一行写dos命令都是不现实的,这需要花费大量的时间进行挑选,造成执行测试用例不够便捷。



技术实现要素:

本申请提供了一种测试用例自动化运行方法及系统,便于执行通过关键字查询的一些特殊意义用例的测试用例,提高执行测试用例的效率。

第一方面,本申请提供了一种测试用例自动化运行方法,其特征在于,所述方法包括:

将测试用例按照关键字和类型特征分类建立数据库;

编程语言与sql进行交互,将所述数据库中的测试用例生成新的测试集;

调用robotframework,执行所述测试集获得执行结果。

可选的,上述测试用例自动化运行方法中,所述将测试用例按照关键字和类型特征分类建立数据库,包括:

获取测试用例的关键字和类型特征分类,所述关键字和类型特征分类包括项目、项目属性、摘要关键字、步骤数目和步骤关键字;

按照项目和项目属性建立第一层数据表,按照摘要关键字建立第二层数据表,按照步骤数目和步骤关键字建立第三层数据表,形成包含所述第一层数据表、第二层数据表和第三层数据表的数据库。

可选的,上述测试用例自动化运行方法中,所述编程语言与sql进行交互将所述数据库中的测试用例生成新的测试集,包括:

编程语言基于sql按照关键字或类型特征查询所述数据库,sql导出查询文件并将结果返回至编程语言;

编程语言根据robotframework的测试用例格式将导出的查询文件追加格式生成新的测试集。

可选的,上述测试用例自动化运行方法中,所述调用robotframework,执行所述测试集获得执行结果,包括:

封装执行测试测试次数函数和调用函数;

获取根据测试要求输入的测试次数,根据所述测试次数通过所述测试测试次数函数和调用函数调用robotframework和所述测试集执行测试用例获得执行结果。

可选的,上述测试用例自动化运行方法中,所述sql导出查询文件并将结果返回至编程语言,包括:

sql运用python语句复制查询文件,并将结果返回至编程语言。

第二方面,本申请还提供了一种测试用例自动化运行系统,所述系统包括:

测试用例存储模块,用于将测试用例按照关键字和类型特征分类建立数据库;

测试集生成模块,用于编程语言与sql进行交互,将所述数据库中的测试用例生成新的测试集;

执行模块,用于调用robotframework,执行所述测试集获得执行结果。

可选的,上述测试用例自动化运行系统中,所述测试用例存储模块包括:

测试用例获取单元,用于获取测试用例的关键字和类型特征分类,所述关键字和类型特征分类包括项目、项目属性、摘要关键字、步骤数目和步骤关键字;

测试用例存储子模块,用于按照项目和项目属性建立第一层数据表,按照摘要关键字建立第二层数据表,按照步骤数目和步骤关键字建立第三层数据表,形成包含所述第一层数据表、第二层数据表和第三层数据表的数据库。

可选的,上述测试用例自动化运行系统中,所述测试集生成模块包括:

用例获取单元,用于编程语言基于sql按照关键字或类型特征查询所述数据库,sql导出查询文件并将结果返回至编程语言;

测试集生成单元,编程语言根据robotframework的测试用例格式将导出的查询文件追加格式生成新的测试集。

可选的,上述测试用例自动化运行系统中,所述执行模块包括:

函数封装单元,用于封装执行测试测试次数函数和调用函数;

执行单元,获取根据测试要求输入的测试次数,根据所述测试次数通过所述测试测试次数函数和调用函数调用robotframework和所述测试集执行测试用例获得执行结果。

可选的,上述测试用例自动化运行系统中,所述用例获取单元,包括:

用例复制子单元,sql运用python语句复制查询文件,并将结果返回至编程语言。

本申请提供的测试用例自动化运行方法及系统,基于sql(structuredquerylanguage,结构化查询语言)将测试用例按照关键字和类型特征分类建立数据库;编程语言与sql进行交互,将所述数据库中的测试用例生成新的测试集,调用robotframework,执行所述测试集获得执行结果。实现在需要按照关键字查找一些特殊用用例进行执行时,按照关键字或类型特征查询所述测试用例库,复制查询得到的用例获得用例集,根据robotframework的测试用例格式将所述用例集追加格式生成测试集,调用robotframework和所述测试集,根据测试要求执行测试用例获得执行结果。如此,本申请提供的测试用例自动化运行方法及系统,便于执行通过关键字查询的一些特殊意义用例,提高测试用例执行效率。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种测试用例自动化运行方法的结构流程图;

图2为本申请实施例提供的一种测试用例自动化运行系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

附图1为本申请实施例提供的测试用例自动化运行方法的结构流程图。如附图1所示,本申请实施例提供的测试用例自动化运行方法,包括:

s101:将测试用例按照关键字和类型特征分类建立数据库。

sql是结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。基于sql建立测试用例的数据库,即利用sql技术建立测试用例库,用于存储并管理测试用例。

在本申请实施例中,获取原始测试用例库,基于sql创建插入语句将所述原始测试用例库的测试用例按照关键字和类型特征分类建立测试用例库。关键字如全盘无分区,全盘锁定,全盘解锁,全盘安全功能关闭,分区锁定等;类型特征如密钥设置,解锁,删除密钥,升级,数据校验等。即在本申请实施例中,测试用例的关键字和类型特征分类包括项目、项目属性、摘要关键字、步骤数目和步骤关键字。

在本申请实施例中,主要采用分层建立数据库,如:按照项目和项目属性建立第一层数据表;按摘要关键字建立第二层数据表;按照步骤数目和步骤关键字建立第三层数据表,形成包含第一层数据表、第二层数据表和第三层数据表的数据库。如此可实现测试用例数据的层层分化,使数据调理清晰,便于管理和使用。如同建立人口统计一样,第一层国家表,第二层每个国家的省份表,第三层每个省份对应每个县城人口属性表。

s102:编程语言与sql进行交互,将所述数据库中的测试用例生成新的测试集。

编程语言与sql进行交互,从数据库中获取测试用例生成用于本次测试用的测试集。

具体的,编程语言基于sql按照关键字或类型特征查询所述数据库,sql导出查询文件并将结果返回至编程语言;编程语言根据robotframework的测试用例格式将导出的查询文件追加格式生成新的测试集。编程语言如c语音的等计算机语言。

建立与数据库测试用例库的连接,即获得对应测试用例库的连接句柄,通过连接句柄连接相应的测试用例库。在连接成功之后,构造特定的sql语句并调用函数执行该sql语句。sql语句不仅包括“select”、“update”、“insert”、“delete”等语句,还包括执行存储过程的语句。利用sql中相应的语句,按照关键字或类型特征查询测试用例库,复制查询得到的用例获得用例集,如利用sql中“selectxxxfromxxx”的语句。根据输入的关键字或类型特征,查询测试用例的数据库,sql获得需要执行的用例,导出查询文件并将结果返回至编程语言,有助于保证查询效率与准确性。

在本申请实施例中,sql复制查询得到的用例获得用例集,可选以追加模式打开一个新的文档,将搜索到的测试用例及的内容复制到这个文档里。具体的,sql可运用python语句复制查询文件,并将结果返回至编程语言。

在复制查询的用例获得用例集后,编程语言将按照robotframework的测试用例格式将获得的用例集进行格式调整,获得满足robotframework的测试用例格式的测试集。

s103:调用robotframework,执行所述测试集获得执行结果。

调用robotframework,以及调用测试用例集内的测试用例根据测试要求执行测试用例集内用例。测试要求可以为连续执行次数。robotframework在执行测试用例完成后,输出执行运行报告。

具体的,封装执行测试测试次数函数和调用函数;获取根据测试要求输入的测试次数,根据所述测试次数通过所述测试测试次数函数和调用函数调用robotframework和所述测试集执行测试用例获得执行结果。编写执行测试相关的测试次数函数和调用函数,对函数进行封装。

基于本申请实施例提供的测试用例自动化运行方法,本申请还提供了一种测试用例自动化运行系统。附图2为本申请实施例提供的测试用例自动化运行系统的结构示意图。如附图2所示,本申请实施例提供的测试用例自动化运行系统包括:

测试用例存储模块1,用于将测试用例按照关键字和类型特征分类建立数据库;

测试集生成模块2,用于编程语言与sql进行交互,将所述数据库中的测试用例生成新的测试集;

执行模块3,用于调用robotframework,执行所述测试集获得执行结果。

在本申请实施例提供的测试用例自动化运行系统中,测试用例存储模块1包括:

测试用例获取单元,用于获取测试用例的关键字和类型特征分类,所述关键字和类型特征分类包括项目、项目属性、摘要关键字、步骤数目和步骤关键字;

测试用例存储子模块,用于按照项目和项目属性建立第一层数据表,按照摘要关键字建立第二层数据表,按照步骤数目和步骤关键字建立第三层数据表,形成包含所述第一层数据表、第二层数据表和第三层数据表的数据库。

在本申请实施例提供的测试用例自动化运行系统中,测试集生成模块2包括:

用例获取单元,用于编程语言基于sql按照关键字或类型特征查询所述数据库,sql导出查询文件并将结果返回至编程语言;

测试集生成单元,编程语言根据robotframework的测试用例格式将导出的查询文件追加格式生成新的测试集。

在本申请实施例提供的测试用例自动化运行系统中,执行模块3包括:

函数封装单元,用于封装执行测试测试次数函数和调用函数;

执行单元,获取根据测试要求输入的测试次数,根据所述测试次数通过所述测试测试次数函数和调用函数调用robotframework和所述测试集执行测试用例获得执行结果。

在本申请实施例提供的测试用例自动化运行系统中,用例获取单元,包括:

用例复制子单元,sql运用python语句复制查询文件,并将结果返回至编程语言。

本申请实施例提供的测试用例自动化运行方法及系统,利用sql技术建立测试用例数据库,可实现按照需求关键字、类型特征搜索查寻得出相应测试用例集,并结合调用robotframework实现测试用例自动化运行。因此,本申请实施例提供的测试用例自动化运行方法及系统便于执行通过关键字查询的一些特殊意义用例的测试用例,提高执行测试用例的效率。

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处,相关之处参见方法实施例的部分说明即可。本领域技术人员在考虑说明书及实践这里的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1