zoukankan      html  css  js  c++  java
  • python3+request接口自动化框架

    首次书写博客,记录下写的自动化接口框架,框架比较简单,哈哈哈,算是记录下历程把!~~~

    一、本次框架由python3.6 书写

      1、准备代码环境,下载python3.6    下载地址:https://www.python.org/downloads

      2、下载pycharm 软件。

    二、开始创建python接口自动化框架:

      1、这是我创建的框架中的各个文件夹,分别有config  配置文件夹、fengzhuang   将接口用get post  两种传输方式进行封装并自动来区分执行。

      2、logfile 用来存放测试用例执行后 ,log日志的保存。

      3、public_common  用来存放一些公共的方法,比如断言、日志、获取excel表格中的用例。

      4、result  用来存放运行测试用例后,生成的html报告。

      5、test_case 用来存放测试用例代码。

      6、test_case_data用来存放测试的excel测试用例。

      7、最重要的脚本运行的入口。

    三、文件夹代码开始填充:

      1、config文件夹中创建Config_file.py 文件。应为我Config_file文件中只书写了一个失败重试的次数限制,就不截图显示了,哈哈  自己写下就好

      2、logs文件夹中创建logtest文件夹(logtest的意思是曾经写了一个log文件  感觉不太好,又从新写了一个以test命名来进行实验的一直也就没改,哈哈)

        2.1、先创建一个log代码,来进行log的获取与存储。当没有log文件储存的文件夹logfile是会自动创建一个

       3、log已经创建成功后,改开始进行接口GET POST  传输带的参数进行一个代码书写。

        3.1:get与post 分别创建了两个函数因为post与get的代码差不多  就不对post进行截图了,此代码是对接口进行请求并将返回的json数据进行转换并对代码进行容错(容错位置可能有问题,如果没成功,可以下方评论联系我!)

      4、请求参数代码创建完成后,对数据可以进行断言来判断返回的数据是否准确喽:

        4.1、我在上方先导入了一个log文件,一个图没截下来,再次说明下哈,

    因为我写的是PHP的接口返回,我的接口返回的数据主要判断下接口里data list  中是否有数据  ,现在判断的比较简单,断言的name主要是用在case运行时带一个用例名称好进行纪录。

      5、现在数据传参、断言下面 对case中返回的接口传输方式get、post  进行一个封装,使其自动进行判断 啦啦啦 !

        5.1、上代码

    两个图截的有点low了 ,再次说一下哈,getJson这个函数是一个,只是将返回的进行一个转换后在返回给调用的,也可以自己在进行优化的,这段代码主要时对excel中的用例里面,在excel中单独放了一个字段  fangshi   对这字段来进行一个检查,如果时post则会进行判断自动调用post方法  ge't相同方式。

      6、好了到这里一些,来进行一项重要的,读取excel中用例。

        6.1、上代码

    先导入xlrd 模块,先创建一个空list,因为我将case的数据都写在了sheet1页面中了,所以直接就写死了,这里需要的可以自己写一下,这段代码里进行按照行进行了循环查找并将每一行传唤成一个dict形式,并添加带list中最后返回list。

      7、获取excel文件的方式也写完了,开始写case的框架来进行运行了

        7.1、上代码 

    这段代码中有一个注释掉的,时进行测试的修改错误的,可以忽略掉。这里主要我将excel文件夹的路径直接写到了cese中,因为在excel中导出的数据时list形式,我将其进行一个循环来拿出数据进行,毕竟excel中会有很多的case来进行测试。最后对代码进行断言,在断言代码中的name字段在这里用到,用来获取excel中case中的名称,在生成log时会有一个标识,好进行跟踪。当然在这里我进行了错误错误代码,运行失败后,限制重试的次数,用到的就是Config文件中限制的次数。好了到这里接口自动化测试框架已经完成了很大的一部分了,下面就开始出现运行入口。(我这里用的UNITEST 框架,因为HTML报告没有自己写,用来一个省事的哈哈。以后会修改的。)

      8、框架运行的入口:

        8.1、上代码:

    这里为框架运行的入口代码,里面有一个发邮件的功能,只是我还没有写成功,能发邮件 但是附件没带成功,sendmail文件我就没在这次书写上 ,后面的文章中,我会加上的。

    四、以上为我写的接口自动化框架的基本代码,书写的比较简陋,可能规范也欠缺,哈哈  不过纪录下历程和新手学习下还算过的去

    五、html测试报告样式

      5.1样式比较简单,哈哈  后续会优化的。

    六、欢迎各位进行查看并指出错误。。

  • 相关阅读:
    Neko's loop HDU-6444(网络赛1007)
    Parameters
    SETLOCAL
    RD / RMDIR Command
    devenv 命令用法
    Cannot determine the location of the VS Common Tools folder.
    'DEVENV' is not recognized as an internal or external command,
    How to change Visual Studio default environment setting
    error signing assembly unknown error
    What is the Xcopy Command?:
  • 原文地址:https://www.cnblogs.com/Jaredhan/p/10967058.html
Copyright © 2011-2022 走看看