基于RobotFramework的自动化测试用例构建方法及系统与流程

文档序号:18409554发布日期:2019-08-10 00:51阅读:232来源:国知局
基于Robot Framework的自动化测试用例构建方法及系统与流程

本发明涉及自动化测试技术领域,特别是基于robotframework的自动化测试用例构建方法及系统。



背景技术:

robotframework是一款python编写的功能自动化测试框架,具备良好的可扩展性,除了官方的关键字外,通过集成第三方library或自定义library以扩展其功能,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行。其测试用例使用文本文件(txt或者tsv文件)保存,使用制表符分隔数据,可以方便的使用任何文本编辑器,或者excel编辑测试用例,也可以使用html格式创建用例。

测试用例(testcase)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。一般的测试用例将很多数据糅合在一起,导致其可移植性差,同一个步骤需要多次编写;而且在测试过程中可维护性差,改一个功能点需要修改许多用例,增加了复杂度。



技术实现要素:

为解决现有技术中存在的问题,本发明提供了基于robotframework的自动化测试用例构建方法及系统,采用分层设计,有利于维护,可根据需要单独对每一层的数据进行修改维护,提高效率;同时,可清楚的展示每一层的数据,有利于用户进行阅读、使用。

本发明采用的技术方案是:

基于robotframework的自动化测试用例构建方法,包括如下步骤:

s10、建立公共层,设定公共关键字,并生成公共关键字库;

s20、建立业务层,设定业务关键字,并生成业务关键字库;

s30、建立用户层,根据公共关键字和业务关键字,生成用户关键字;

s40、根据公共关键字、业务关键字和用户关键字,生成自动化测试用例。

进一步地,步骤s10包括如下步骤:

s11、建立第一公共层,设定官方关键字,并生成第一公共关键字库;

s12、建立第二公共层,设定第三方关键字,并生成第二公共关键字库;

s13、建立第三公共层,设定自定义关键字,并生成第三公共关键字库。

进一步地,步骤s20包括如下步骤:

s21、获取测试项目;

s22、根据测试项目,设定对应的业务关键字;

s23、根据业务关键字生成对应的业务关键字库。

进一步地,步骤s30包括如下步骤:

s31、提取公共关键字库中的公共关键字;

s32、提取业务关键字库中的业务关键字;

s33、将提取的公共关键字和业务关键字进行组装,生成用户关键字。

进一步地,步骤s40包括如下步骤:

s41、提取公共关键字库中的公共关键字;

s42、提取业务关键字库中的业务关键字;

s43、提取用户关键字;

s44、将提取的公共关键字、业务关键字和用户关键字进行组装,生成自动化测试用例。

基于robotframework的自动化测试用例构建系统,包括公共关键字库生成模块、业务关键字库生成模块、用户关键字生成模块和自动化测试用例生成模块,其中:

公共关键字库生成模块,用于建立公共层,设定公共关键字,并生成公共关键字库;

业务关键字库生成模块,用于建立业务层,设定业务关键字,并生成业务关键字库;

用户关键字生成模块,用于建立用户层,根据公共关键字和业务关键字,生成用户关键字;

自动化测试用例生成模块,用于根据公共关键字、业务关键字和用户关键字,生成自动化测试用例。

进一步地,所述公共关键字库生成模块包括第一公共关键字库生成子模块、第二公共关键字库生成子模块和第三公共关键字库生成子模块,其中:

第一公共关键字库生成子模块,用于建立第一公共层,设定官方关键字,并生成第一公共关键字库;

第二公共关键字库生成子模块,用于建立第二公共层,设定第三方关键字,并生成第二公共关键字库;

第三公共关键字库生成子模块,用于建立第三公共层,设定自定义关键字,并生成第三公共关键字库。

进一步地,所述业务关键字库生成模块包括测试项目获取子模块、业务关键字设定子模块和业务关键字库生成子模块,其中:

测试项目获取子模块,用于获取测试项目;

业务关键字设定子模块,用于根据测试项目,设定对应的业务关键字;

业务关键字库生成子模块,用于根据业务关键字生成对应的业务关键字库。

进一步地,所述用户关键字生成模块包括第一公共关键字提取子模块、第一业务关键字提取子模块和第一用户关键字生成子模块,其中:

第一公共关键字提取子模块,用于提取公共关键字库中的公共关键字;

第一业务关键字提取子模块,用于提取业务关键字库中的业务关键字;

第一用户关键字生成子模块,用于将提取的公共关键字和业务关键字进行组装,生成用户关键字。

进一步地,所述自动化测试用例生成模块包括第二公共关键字提取子模块、第二业务关键字提取子模块、用户关键字提取子模块和自动化测试用例生成子模块,其中:

第二公共关键字提取子模块,用于提取公共关键字库中的公共关键字;

第二业务关键字提取子模块,用于提取业务关键字库中的业务关键字;

用户关键字提取子模块,用于提取用户关键字;

自动化测试用例生成子模块,用于将提取的公共关键字、业务关键字和用户关键字进行组装,生成自动化测试用例。

本发明的有益效果是:

1、采用分层设计,有利于快速简便的维护,可根据需要单独对每一层的数据进行修改维护,提高效率。

2、可清楚的展示每一层的数据,有利于用户进行阅读、使用。

3、可移植性好,采用分层设计,对于相同的步骤数据,可进行一次编写多次使用。

附图说明

图1为本发明实施例基于robotframework的自动化测试用例构建方法的流程图;

图2为本发明实施例基于robotframework的自动化测试用例构建方法中构建用户层的流程图;

图3为为本发明实施例基于robotframework的自动化测试用例构建系统的原理图。

附图标记:10、公共关键字库生成模块;101、第一公共关键字库生成子模块;102、第二公共关键字库生成子模块;103、第三公共关键字库生成子模块;20、业务关键字库生成模块;201、测试项目获取子模块;202、业务关键字设定子模块;203、业务关键字库生成子模块;30、用户关键字生成模块;301、第一公共关键字提取子模块;302、第一业务关键字提取子模块;303、第一用户关键字生成子模块;40、自动化测试用例生成模块;401、第二公共关键字提取子模块;402、第二业务关键字提取子模块;403、用户关键字提取子模块;404、自动化测试用例生成子模块。

具体实施方式

下面结合附图对本发明的实施例进行详细说明。

实施例

如图1-图2所示,基于robotframework的自动化测试用例构建方法,包括如下步骤:

s10、建立公共层,设定公共关键字,所述公共关键字包括官方关键字、第三方关键字和自定义关键字,根据不同的关键字生成对应的公共关键字库。官方关键字包括builtin、string、collection、operatingsystem、dialogs、remote、screenshot、telent、xml、process、datetime等;根据第三方关键字生成的公共关键字库包括seleniumlibrary、appiumlibrary、requestslibrary、sshlibrary、datebaselibrary、autoitlibrary、ftplibrary、mongodblibrary;根据自定义关键字生成的公共关键字库为commonlibrary。上述公共关键字与具体业务无关,可在所有项目中复用。

s20、建立业务层,设定业务关键字,并生成业务关键字库;业务关键字属于自定义关键字,根据不同的测试项目,设定不同的业务关键字,并生成对应的业务关键字库,例如,project1library、project2library、projectnlibrary等。与具体业务有关,仅可在一个或少数项目中复用的关键字。

s30、建立用户层,根据公共关键字和业务关键字,生成用户关键字;在组装自动化用例之前,可根据自己的需要创建用户关键字(userkeyword)。用户关键字使用官方、第三方、自定义关键字(公共或业务)library中的关键字组装而成。用户关键字通常封装公共步骤,以供多个自动化测试用例调用。

s40、根据公共关键字、业务关键字和用户关键字,生成自动化测试用例。

采用分层设计,有利于快速简便的维护,可根据需要单独对每一层的数据进行修改维护,提高效率;可清楚的展示每一层的数据,有利于用户进行阅读、使用;可移植性好,采用分层设计,对于相同的步骤数据,可进行一次编写多次使用。

在其中一个实施例中,如图1所示,步骤s10包括如下步骤:

s11、建立第一公共层,设定官方关键字,并生成第一公共关键字库;官方关键字包括builtin、string、collection、operatingsystem、dialogs、remote、screenshot、telent、xml、process、datetime等。

s12、建立第二公共层,设定第三方关键字,并生成第二公共关键字库;根据第三方关键字生成的第二公共关键字库包括seleniumlibrary、appiumlibrary、requestslibrary、sshlibrary、datebaselibrary、autoitlibrary、ftplibrary、mongodblibrary等。

s13、建立第三公共层,设定自定义关键字,并生成第三公共关键字库。根据自定义关键字生成的第三公共关键字库为commonlibrary。

对公共关键字进行划分,建立多层公共关键字库,进一步方便对每一层的数据进行修改维护,提高效率。

在其中一个实施例中,步骤s20包括如下步骤:

s21、获取测试项目。

s22、根据测试项目,设定对应的业务关键字;该业务关键字与具体业务有关,仅可在一个或少数项目中复用的关键字。

s23、根据业务关键字生成对应的业务关键字库。

在其中一个实施例中,如图2所示,步骤s30包括如下步骤:

s31、提取公共关键字库中的公共关键字;

s32、提取业务关键字库中的业务关键字;

s33、将提取的公共关键字和业务关键字进行组装,生成用户关键字。

在其中一个实施例中,如图1所示,步骤s40包括如下步骤:

s41、提取公共关键字库中的公共关键字;

s42、提取业务关键字库中的业务关键字;

s43、提取用户关键字;

s44、将提取的公共关键字、业务关键字和用户关键字进行组装,生成自动化测试用例。

如图3所示,基于robotframework的自动化测试用例构建系统,其特征在于,包括公共关键字库生成模块10、业务关键字库生成模块20、用户关键字生成模块30和自动化测试用例生成模块40,其中:

公共关键字库生成模块10,用于建立公共层,设定公共关键字,并生成公共关键字库;所述公共关键字包括官方关键字、第三方关键字和自定义关键字,根据不同的关键字生成对应的公共关键字库。官方关键字包括builtin、string、collection、operatingsystem、dialogs、remote、screenshot、telent、xml、process、datetime等;根据第三方关键字生成的公共关键字库包括seleniumlibrary、appiumlibrary、requestslibrary、sshlibrary、datebaselibrary、autoitlibrary、ftplibrary、mongodblibrary;根据自定义关键字生成的公共关键字库为commonlibrary。上述公共关键字与具体业务无关,可在所有项目中复用。

业务关键字库生成模块20,用于建立业务层,设定业务关键字,并生成业务关键字库;业务关键字属于自定义关键字,根据不同的测试项目,设定不同的业务关键字,并生成对应的业务关键字库,例如,project1library、project2library、projectnlibrary等。与具体业务有关,仅可在一个或少数项目中复用的关键字。

用户关键字生成模块30,用于建立用户层,根据公共关键字和业务关键字,生成用户关键字;

自动化测试用例生成模块40,用于根据公共关键字、业务关键字和用户关键字,生成自动化测试用例。

在其中一个实施例中,如图3所示,所述公共关键字库生成模块10包括第一公共关键字库生成子模块101、第二公共关键字库生成子模块102和第三公共关键字库生成子模块103,其中:

第一公共关键字库生成子模块101,用于建立第一公共层,设定官方关键字,并生成第一公共关键字库;官方关键字包括builtin、string、collection、operatingsystem、dialogs、remote、screenshot、telent、xml、process、datetime等。

第二公共关键字库生成子模块102,用于建立第二公共层,设定第三方关键字,并生成第二公共关键字库;根据第三方关键字生成的第二公共关键字库包括seleniumlibrary、appiumlibrary、requestslibrary、sshlibrary、datebaselibrary、autoitlibrary、ftplibrary、mongodblibrary等。

第三公共关键字库生成子模块103,用于建立第三公共层,设定自定义关键字,并生成第三公共关键字库。根据自定义关键字生成的第三公共关键字库为commonlibrary。

在其中一个实施例中,如图3所示,所述业务关键字库生成模块20包括测试项目获取子模块201、业务关键字设定子模块202和业务关键字库生成子模块203,其中:

测试项目获取子模块201,用于获取测试项目;

业务关键字设定子模块202,用于根据测试项目,设定对应的业务关键字;该业务关键字与具体业务有关,仅可在一个或少数项目中复用的关键字。

业务关键字库生成子模块203,用于根据业务关键字生成对应的业务关键字库。

在其中一个实施例中,如图3所示,所述用户关键字生成模块30包括第一公共关键字提取子模块301、第一业务关键字提取子模块302和第一用户关键字生成子模块303,其中:

第一公共关键字提取子模块301,用于提取公共关键字库中的公共关键字;

第一业务关键字提取子模块302,用于提取业务关键字库中的业务关键字;

第一用户关键字生成子模块303,用于将提取的公共关键字和业务关键字进行组装,生成用户关键字。

在其中一个实施例中,如图3所示,所述自动化测试用例生成模块40包括第二公共关键字提取子模块401、第二业务关键字提取子模块402、用户关键字提取子模块403和自动化测试用例生成子模块404,其中:

第二公共关键字提取子模块401,用于提取公共关键字库中的公共关键字;

第二业务关键字提取子模块402,用于提取业务关键字库中的业务关键字;

用户关键字提取子模块403,用于提取用户关键字;

自动化测试用例生成子模块404,用于将提取的公共关键字、业务关键字和用户关键字进行组装,生成自动化测试用例。

以上所述实施例仅表达了本发明的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

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