一种基于python的接口自动化测试方法及装置制造方法及图纸

技术编号:22218567 阅读:26 留言:0更新日期:2019-09-30 01:06
本发明专利技术公开了一种基于python的接口自动化测试方法及装置,其中方法包括:从excel中循环读取所有的接口数据;判断当前状态读取到的接口是否需要运行;若是,则判断接口是否存在关联依赖;若否,则调用接口类;根据接口类中不同的接口请求方式调用请求类;请求类封装不同的请求接口,并返回响应数据至接口类;通过正则表达式设置检查点与接口内得到的响应数据进行对比;将对比结果和响应数据写入测试报告中。本发明专利技术降低了接口测试门槛,提高测试效率,而且可以将log同时写入文件和输出到控制台,方便实时查看信息和跟踪定位问题,而且还解决了接口之间有关联依赖的场景难题。

A python-based interface automation test method and device

【技术实现步骤摘要】
一种基于python的接口自动化测试方法及装置
本专利技术涉及接口测试,更具体地说是一种基于python的接口自动化测试方法及装置。
技术介绍
目前目前传统的接口测试主要采用soapui、postman、jmeter等工具来进行纯手工的接口测试。对每一个接口进行测试时都需要新建线程组、添加http信息头管理器、各类sample,接口名称、接口地址、请求方式、数据传输类型、请求参数、检查点等,人为输入工作量较大,导致测试人员工作量增大,测试效率低。也有使用python自带的request库进行接口测试,但是代码编写工作量大,增大了接口测试门槛,这样就给接口测试带来一定的隐患性和繁琐性,也不方便维护,无法实现数据和代码进行分离,同时也无法实现邮件通知功能。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于python的接口自动化测试方法及装置。为实现上述目的,本专利技术采用以下技术方案:一种基于python的接口自动化测试方法,所述方法包括以下步骤:从excel中循环读取所有的接口数据;判断当前状态读取到的接口是否需要运行;若是,则判断接口是否存在关联依赖;若否,则调用接口类;根据接口类中不同的接口请求方式调用请求类;请求类封装不同的请求接口,并返回响应数据至接口类;通过正则表达式设置检查点与接口内得到的响应数据进行对比;将对比结果和响应数据写入测试报告中。其进一步技术方案为:所述判断接口是否存在关联依赖的步骤之后,还包括以下步骤:若是,则进行关联参数拆分;将拆分的关联参数替换请求参数。其进一步技术方案为:所述从excel中循环读取所有的接口数据的步骤之后,还包括以下步骤:对需要加密的接口数据采用des进行对称加密。其进一步技术方案为:所述调用接口类的步骤之后,还包括以下步骤:调用日志类log;向日志文件和控制台输出相应日志信息。一种基于python的接口自动化测试装置,所述装置包括读取单元、第一判断单元、第二判断单元、第一调用单元、第二调用单元、封装单元、对比单元以及存储单元;所述读取单元,用于从excel中循环读取所有的接口数据;所述第一判断单元,用于判断当前状态读取到的接口是否需要运行;所述第二判断单元,用于判断接口是否存在关联依赖;所述第一调用单元,用于调用接口类;所述第二调用单元,用于根据接口类中不同的接口请求方式调用请求类;所述封装单元,用于请求类封装不同的请求接口,并返回响应数据至接口类;所述对比单元,用于通过正则表达式设置检查点与接口内得到的响应数据进行对比;所述存储单元,将对比结果和响应数据写入测试报告中。其进一步技术方案为:所述装置还包括拆分单元以及替换单元;所述拆分单元,用于进行关联参数拆分;所述替换单元,用于将拆分的关联参数替换请求参数。其进一步技术方案为:所述装置还包括加密单元;所述加密单元,用于对需要加密的接口数据采用des进行对称加密。其进一步技术方案为:所述装置还包括第三调用单元以及发送单元;所述第三调用单元,用于调用日志类log;所述发送单元,用于向日志文件和控制台输出相应日志信息。本专利技术与现有技术相比的有益效果是:本专利技术提供的一种基于python的接口自动化测试方法及装置,通过excel一次性读取所有的接口数据,自动运行脚本进行接口测试,并将测试结果自动填写到测试报告中,还可以给相应人员发送邮件通知测试结果。测试人员只需在excel中填写少量的数据即可进行接口测试,降低接口测试门槛,提高测试效率,而且可以将log同时写入文件和输出到控制台,方便实时查看信息和跟踪定位问题。另外,当判断出接口之间有关联依赖(即B接口的入参依赖A接口的出参),只需要对关联参数进行拆分,然后将拆分的关联参数替换为请求参数,解决了接口之间有关联依赖的场景难题。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术技术手段,可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征及优点能够更明显易懂,以下特举较佳实施例,详细说明如下。附图说明图1为本专利技术一种基于python的接口自动化测试方法具体实施例的流程图;图2为本专利技术一种基于python的接口自动化测试装置具体实施例结构图。具体实施方式为了更充分理解本专利技术的
技术实现思路
,下面结合具体实施例对本专利技术的技术方案进一步介绍和说明,但不局限于此。应当理解,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序。还应当理解,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。如图1所示,本专利技术提供了一种基于python的接口自动化测试方法,该方法包括以下步骤:S10、从excel中循环读取所有的接口数据;S20、对需要加密的接口数据采用des进行对称加密;S30、判断当前状态读取到的接口是否需要运行,若是,进入步骤S301,若否,则返回步骤S10;S301、判断接口是否存在关联依赖,若是,则进入步骤S302,若否,S40、则调用接口类;S50、根据接口类中不同的接口请求方式调用请求类;S60、请求类封装不同的请求接口,并返回响应数据至接口类;S70、通过正则表达式设置检查点与接口内得到的响应数据进行对比;S80、将对比结果和响应数据写入测试报告中;S302、进行关联参数拆分;S3021、将拆分的关联参数替换请求参数。进一步的,步骤S40之后,还包括以下步骤:S401、调用日志类log;S402、向日志文件和控制台输出相应日志信息。在从excel中读取接口数据之前,需建立相关文件,具体的:新建interface_automation工程,下载相关依赖包,其中,依赖包包括setuptool、openpyxl、re、time、requests、json、logging、smtplib、email以及pyDes。新建commons、log、report、src、testcase模块和主入口文件run.py,其中,commons模块存放mylog.py、requestclass.py、sendmail.py,分别用于记录日志及处理异常、封装request库里面的各类请求、发送和接收邮件;log模块存放log.txt,用于保存框架运行时产生的log;report模块存放result.xlsx,用于保存接口运行结果;src模块保存interfaceclass.py、traversal_testcase.py,其中interfaceclass.py主要完成调用请求类并接收响应然后对结果进行对比,对结果和响应的写入,traversal_testcase.py主要用于遍历case,每次遍历一条case,就要调用一次接口类,testcase模块用于读取所有的接口case;run.py用于框架的主入口,调用遍历case类,并传递相关参数本文档来自技高网
...

【技术保护点】
1.一种基于python的接口自动化测试方法,其特征在于,所述方法包括以下步骤:从excel中循环读取所有的接口数据;判断当前状态读取到的接口是否需要运行;若是,则判断接口是否存在关联依赖;若否,则调用接口类;根据接口类中不同的接口请求方式调用请求类;请求类封装不同的请求接口,并返回响应数据至接口类;通过正则表达式设置检查点与接口内得到的响应数据进行对比;将对比结果和响应数据写入测试报告中。

【技术特征摘要】
1.一种基于python的接口自动化测试方法,其特征在于,所述方法包括以下步骤:从excel中循环读取所有的接口数据;判断当前状态读取到的接口是否需要运行;若是,则判断接口是否存在关联依赖;若否,则调用接口类;根据接口类中不同的接口请求方式调用请求类;请求类封装不同的请求接口,并返回响应数据至接口类;通过正则表达式设置检查点与接口内得到的响应数据进行对比;将对比结果和响应数据写入测试报告中。2.根据权利要求1所述的一种基于python的接口自动化测试方法,其特征在于,所述判断接口是否存在关联依赖的步骤之后,还包括以下步骤:若是,则进行关联参数拆分;将拆分的关联参数替换请求参数。3.根据权利要求1所述的一种基于python的接口自动化测试方法,其特征在于,所述从excel中循环读取所有的接口数据的步骤之后,还包括以下步骤:对需要加密的接口数据采用des进行对称加密。4.根据权利要求1所述的一种基于python的接口自动化测试方法,其特征在于,所述调用接口类的步骤之后,还包括以下步骤:调用日志类log;向日志文件和控制台输出相应日志信息。5.一种基于python的接口自动化测试装置,其特征在于,所述装置包括读取单元、第一判断单元、第二判断单元、第一调用单元、第...

【专利技术属性】
技术研发人员:王超陈煦文
申请(专利权)人:深圳市万睿智能科技有限公司
类型:发明
国别省市:广东,44

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

1