python接口自动化方案简述

    xiaoxiao2023-10-07  107

    1.测试方案制定

          根据项目需求,梳理测试点,制定项目测试方案,进行自动化框架选型,协调测试资源,规划测试进度,制定行动计划表,制定测试方案。

    2.测试用例编写

          2.1 测试用例编写方法

          根据提供的接口文档,按照用例设计方法进行测试用例编写;如果没有提供接口文档或或提供的接口文档不全,则需借助postman、jmeter、fiddler等工具辅助完成用例编写。

          2.2 测试用例管理

         使用Excel对测试用例进行管理,一个sheet页对应一个接口的测试用例,一条测试用例包含:用例编号、请求路径、请求数据、期望值、实际值、测试结果、sql检查语句等。

        基本思路如下:

    3.测试脚本开发

       3.1 目录框架组织

       对于一般的接口自动化项目,可参考以下目录框架设计创建项目工程,并结合项目实际情况适当调整。

    目录

    作用

    cases

    存放接口测试脚本;

    一个接口对应一个py文件,多个接口对应多个py文件;

    以接口名字+数字的形式进行命名,能从名称上区分各个接口;

    config

    存放配置文件;

    将测试中用到的环境信息、参数信息、账号信息等几种在配置文件中进行统一管理,当测试环境发生改变时,方便修改环境参数信息。

    data

    存放测试用例Excel文件;

    docs

    存放测试项目涉及的文档;

    如:需求文档、测试脚本更新记录等

    libs

    存放第三方库;

    logs

    测试日志生成路径

    report

    测试报告生成路径

    scripts

    存放测试脚本,为测试框架核心,包含以下模块:

    handle_excel.py:测试用例Excel处理模块;(必选)

    handle_config.py:配置文件处理模块;(必选)

    handle_context.py:参数化处理模块;(必选)

    handle_log.py:日志处理模块;(必选)

    handle_mysql.py:数据库处理模块;(可选)

    handle_path.py:路径管理模块;(必选)

    handle_requests.py:HTTP请求处理模块;(必选)

    handle_user.py:参数生成模块;(可选)

    scripts 处理模块设计

    scripts为整个框架核心模块,由以下模块组成,各模块是基于python已有库或第三方库的二次封装。包含:用例处理、配置文件处理、请求处理、测试报告处理等模块。根据实际项目,可对部分模块修改、选用。

    ​​​​​​​测试用例Excel处理模块

        功能:根据传入的Excel名称和Sheet页名,读取测试用例数据、保存用例执行后的结果。

        方法:获取所有用例;

                   获取指定用例;

                  保存用例执行结构,含实际值、测试结果;

                  涉及模块:openpyxl、namedtuple

    ​​​​​​​配置文件处理模块

        功能:根据传入的区域名和选项名,读取对应的选项值;

                   将生成的用户信息保存数据到配置文件中;

        方法:读取配置文件的选项值,并可将值按需转成相应类型,支持的类型有:int、float、str;  

                  将执行过程中的必要数据保存在配置文件中;

         涉及模块:ConfigParser

    ​​​​​​​参数化处理模块

         功能:对Excel用例中的参数进行参数化

         方法:正则匹配模式设计;

                   参数替换处理;

         涉及模块:re

         备注:一个接口中对应多个参数需要做参数化,可以一个接口对应一个参数化方法,而这一个方法中对应多个参数的正则替换方法。

    ​​​​​​​日志处理模块

        功能:日志打印处理保存

        方法:打印不同级别的日志;

                  在控制台打印日志;

                  输出日志并保存在日志文件中;

        涉及模块:logging、os

    ​​​​​​​数据库处理模块

         功能:传入sql语句,对数据库操作,获取或创建对应数据;

         方法:连接数据库进行操作;

                   获取多条数据信息或单条数据信息;

                  生成新的用户参数信息;

                  关闭数据连接信息;

         涉及模块:pymysql、random

    ​​​​​​​路径管理模块

        功能:对测试脚本中要使用到的所有目录、文件的路径信息进行集中统一管理

        方法:提供所有目录路径、文件的路径信息

        涉及模块:os

    ​​​​​​​HTTP请求处理模块

        功能:对Http请求进行封装处理,只需要提供请求方法、url、数据便可发起一次请求

        方法:创建Session对象,对整个过程的session进行管理;

                  发起请求,根据请求方法、URL、参数进行请求,并返回响应数据;

                  关闭session管理对象;

        涉及模块:requests、json

    ​​​​​​​参数生成模块

         功能:根据需求生成必要的参数信息,并保存到配置文件中

         方法:创建用户信息

         备注:可选模块

    4.持续继承部署

    使用jekins、svn进行部署

    ……

    5.修订记录

    序号

    变更内容

    版本

    修改者

    时间

    1

    根据项目工程创建文档

    1.1

    只要我一开枪,这群里就只剩下大佬了

    2019-6-9

     

     

     

    最新回复(0)