一种自动化测试的方法及存储介质技术

技术编号:31711882 阅读:14 留言:0更新日期:2022-01-01 11:15
本发明专利技术公开了一种自动化测试的方法及存储介质,用以解决现有技术中存在的自动化测试框架的测试效率不高的技术问题,包括:基于用户数据的用户参数,配置测试环境及pytest;用所述pytest生成测试脚本对应的测试用例;在所述测试环境中运行所述测试用例,获得测试结果。果。果。

【技术实现步骤摘要】
一种自动化测试的方法及存储介质


[0001]本专利技术涉及测试领域,尤其是涉及一种自动化测试的方法及存储介质。

技术介绍

[0002]在进行软件项目开发的过程中,由于项目时间紧张、测试工作量大且重复,为了缩短软件项目开发的时间,通常需要进行自动化的测试。
[0003]现有技术中,进行自动化测试使用的主流自动化框架包括Robot Framework以及多种单元测试框架,如testNG、pytest等。Robot Framework是一款关键字驱动的测试框架,其优点是有丰富的库和图形界面,缺点是效率较低、自动化过程控制不灵活;而现有的多种单元测试框架,主要面向的是后台开发的单元测试,优点是简单灵活,缺点是无图形界面,用例可读性差,维护成本高。
[0004]鉴于此,如何提供一款高测试效率的自动化测试框架进行软件项目的自动化测试,成为一个亟待解决的技术问题。

技术实现思路

[0005]本专利技术提供一种自动化测试的方法及存储介质,用以解决现有技术中存在的自动化测试框架的测试效率不高的技术问题。
[0006]第一方面,为解决上述技术问题,本专利技术实施例提供的一种自动化测试的方法,包括:
[0007]基于用户数据的用户参数,配置测试环境及pytest;
[0008]用所述pytest生成测试脚本对应的测试用例;
[0009]在所述测试环境中运行所述测试用例,获得测试结果。
[0010]一种可能的实施方式,基于用户数据的用户参数,配置测试环境及pytest,包括:
[0011]获取所述用户参数;
[0012]基于所述用户参数生成所述测试环境的配置文件;
[0013]将所述配置文件传给所述pytest。
[0014]一种可能的实施方式,获取所述用户参数,包括:
[0015]将用户输入的参数作为所述用户参数;
[0016]或,向用户提供可选的多个参数,将用户从所述多个参数中选中的参数作为所述用户参数。
[0017]一种可能的实施方式,用pytest生成测试脚本对应的测试用例,包括:
[0018]用pytest初始化所述测试用例的总前后置条件,以实例化关键字类;
[0019]根据所述测试脚本中的测试步骤,通过所述关键字类调用所述测试步骤所需的关键字,获得所述测试用例;其中,所述测试步骤是由关键字组成的。
[0020]一种可能的实施方式,获得所述测试结果后,还包括:
[0021]对所述测试结果进行分析;
[0022]若测试结果表明所述测试用例的执行过程正常,则将所述测试结果存档,并提交对应的漏洞。
[0023]一种可能的实施方式,对所述测试结果进行分析之后,还包括:
[0024]若所述测试结果表明所述执行过程或所述测试环境存在问题,则对所述测试用例或所述测试环境进行修复;
[0025]用修复后的测试用例或修复后的测试环境重新进行测试。
[0026]一种可能的实施方式,所述关键字具有统一的调用格式、参数结构、数据类型;
[0027]其中,所述调用格式包括一个所述测试步骤对应一个python类、每个所述python类具有相同类型的操作函数,所述测试步骤的命名格式相同;
[0028]所述参数结构至少包括关键字执行的期望结果和关键字需要的基础参数,所述期望结果、所述基础参数均设有默认值。
[0029]一种可能的实施方式,所述测试用例,包括:
[0030]前置条件、用例步骤、后置条件;其中,所述用例步骤中每个测试步骤具有注释。
[0031]一种可能的实施方式,所述配置文件、所述测试用例所需资源文件、所述测试用例分别对应不同的存储目录。
[0032]第二方面,本专利技术实施例还提供一种可读存储介质,包括:
[0033]存储器,
[0034]所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第二方面所述的方法。
[0035]通过本专利技术实施例的上述一个或多个实施例中的技术方案,本专利技术实施例至少具有如下技术效果:
[0036]在本专利技术提供的实施例中,基于用户数据的用户参数,配置测试环境及pytest;用pytest生成测试脚本对应的测试用例;在测试环境中运行测试用例,获得测试结果。由于在自动化测试结合了pytest,使得对应的自动化侧框架继承了pytest快速、简洁运行的特性,因此只需通过一个测试脚本即可生成对应的测试用例,并且纯代码的用例也减少了将用例转换为代码的成本,提高了自动化的运行效率。
附图说明
[0037]图1为本专利技术实施例提供的一种自动化测试方法的流程图;
[0038]图2为本专利技术实施例提供的基于自动化测试框架建立的一个软件测试项目的目录结构示意图;
[0039]图3为本专利技术实施例提供的测试项目的结构示意图。
具体实施方式
[0040]本专利技术实施列提供一种自动化测试的方法及存储介质,用以解决现有技术中存在的自动化测试框架的测试效率不高的技术问题。
[0041]为了更好的理解上述技术方案,下面通过附图以及具体实施例对本专利技术技术方案做详细的说明,应当理解本专利技术实施例以及实施例中的具体特征是对本专利技术技术方案的详细的说明,而不是对本专利技术技术方案的限定,在不冲突的情况下,本专利技术实施例以及实施例
中的技术特征可以相互组合。
[0042]请参考图1,本专利技术实施例提供一种自动化测试的方法,包括:
[0043]步骤101:基于用户数据的用户参数,配置测试环境及pytest。
[0044]在本专利技术提供的实施例中,对软件项目进行自动化测试的自动化测试框架包括程序入口、环境配置、关键字库、资源文件、测试用例五大部分,在该自动化测试框架中结合了python的单元框架pytest,使得其具有pytest的特性,实现一些关键步骤,以保证自动化测试框架的功能可靠性和完整性。
[0045]在自动化测试框架中,要实现对软件项目进行自动化测试,首先需要对被测软件项目的测试环境及pytest进行配置,这部分功能的实现需要用户通过自动化测试框架中的程序入口获取用户参数,并将获取的用户参数提供给自动化测试框架中的pytest进行环境配置。
[0046]因此,上述基于用户数据的用户参数,配置测试环境及pytest,可以通过下列方式实现:
[0047]获取用户参数;基于用户参数生成测试环境的配置文件;将配置文件传给pytest。
[0048]例如,对一个防入侵测的软件项目进行自动化测试,可以通过一脚本(run_test.py,该脚本可以视为防入侵测试框架的程序入口)获取用户参数,然后用获取的用户参数生成测试环境的配置文件,并传给pytest,这样就能完成对测试环境及pytest的配置。
[0049]上述程序入口还可以预留web接口、自动加载pytest插件,这样可以提高自动化测试的自由度及可扩展本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化测试的方法,其特征在于,包括:基于用户数据的用户参数,配置测试环境及pytest;用所述pytest生成测试脚本对应的测试用例;在所述测试环境中运行所述测试用例,获得测试结果。2.如权利要求1所述的方法,其特征在于,基于用户数据的用户参数,配置测试环境及pytest,包括:获取所述用户参数;基于所述用户参数生成所述测试环境的配置文件;将所述配置文件传给所述pytest。3.如权利要求2所述的方法,其特征在于,获取所述用户参数,包括:将用户输入的参数作为所述用户参数;或,向用户提供可选的多个参数,将用户从所述多个参数中选中的参数作为所述用户参数。4.如权利要求1所述的方法,其特征在于,用pytest生成测试脚本对应的测试用例,包括:用pytest初始化所述测试用例的总前后置条件,以实例化关键字类;根据所述测试脚本中的测试步骤,通过所述关键字类调用所述测试步骤所需的关键字,获得所述测试用例;其中,所述测试步骤是由关键字组成的。5.如权利要求1所述的方法,其特征在于,获得所述测试结果后,还包括:对所述测试结果进行分析;若测试结果表明所述测试用例的执行过程正常,则将所述测试结果存档,并提交对应的漏洞。6.如权利...

【专利技术属性】
技术研发人员:陈小龙龚岩琳闫静肖丰佳曾铭
申请(专利权)人:北京神州绿盟科技有限公司神州绿盟成都科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1