Python接口自动化测试框架设计

1、测试框架简介

在这里插入图片描述

Config目录:存放配置文件,如数据库的端口、地址、邮件配置信息等;
Data目录:存放公共动态数据,如Token、Excel、动态参数等;
Log目录:存放Log日志信息;
Reports目录:存放接口测试报告;
TestCases目录:存放接口测试案例;
Utlis目录:公共方法、自定义工具类所在目录;
runmain.py文件:项目运行的主程序文件;

2、重构Requests请求

在Utlis目录下创建page.py文件,编写文件代码:

import os,requests
class Helper(object):
    def get(self,url,headers=''):
        """重构GET请求"""
        if url:
            r = requests.get(url=url,headers=headers)
            return r
        else:
            try:
                print('接口地址有误!!!')
            except Exception as M:
                print("错误原因:%s"%M)

    def post(self, url, data,headers=''):
        """重构POST请求"""
        if url:
            r = requests.post(url=url, json=data,headers=headers)
            return r
        else:
            try:
                print('接口地址有误!!!')
            except Exception as M:
                print("错误原因:%s" % M)

    def delete(self, url,headers=''):
        """重构DELETE请求"""
        if url:
            r = requests.delete(url=url,headers=headers)
            return r
        else:
            try:
                print('接口地址有误!!!')
            except Exception as M:
                print("错误原因:%s" % M)

3、重构接口案例

TestCases目录下test_tasks.py文件

import unittest
# 导入Helper工具类
from Utlis.page import Helper
class TestTotasks(unittest.TestCase,Helper):
    @classmethod
    def setUpClass(cls):
        pass
    @classmethod
    def tearDownClass(cls):
        pass
    def test_login(self):
        """登录接口"""
        url = "http://ilink.sxlib.org.cn/uh...%86/0/57/49"
        data = {
            'user_id':'6...',
            'password':'7...04'
        }
        r = self.post(url,data)
        self.assertEqual(r.status_code,200)
        self.assertEqual(r.json()['user_id'],'6...67')
if __name__ == '__main__':
    unittest.main(verbosity=2)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本文总结介绍接口测试框架开发,环境使用python3+selenium3+unittest测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用HTMLTestRunner来生成测试报告,目前有开源的poman、Jmeter等接口测试工具,为什么还要开发接口测试框架呢?因接口测试工具也有存在几点不足。 * 测试数据不可控制。比如接口返回数据不可控,就无法自动断言接口返回的数据,不能断定是接口程序引起,还是测试数据变化引起的错误,所以需要做一些初始化测试数据。接口工具没有具备初始化测试数据功能,无法做到真正的接口测试自动化。 * 无法测试加密接口。实际项目中,多数接口不是可以随便调用,一般情况无法摸拟和生成加密算法。如时间戳和MDB加密算法,一般接口工具无法摸拟。 * 扩展能力不足。开源的接口测试工具无法实现扩展功能。比如,我们想生成不同格式的测试报告,想将测试报告发送到指定邮箱,又想让接口测试集成到CI中,做持续集成定时任务。 测试框架处理过程如下: * 首先初始化清空数据库表的数据,向数据库插入测试数据; * 调用被测试系统提供的接口,先数据驱动读取excel用例一行数据; * 发送请求数据,根据传参数据,向数据库查询得到对应的数据; * 将查询的结果组装成JSON格式的数据,同时根据返回的数据值与Excel的值对比判断,并写入结果至指定Excel测试用例表格; * 通过单元测试框架断言接口返回的数据,并生成测试报告,最后把生成最新的测试报告HTML文件发送指定的邮箱。 ## 测试框架结构目录介绍 目录结构介绍如下: * config/: 文件路径配置 * database/: 测试用例模板文件及数据库和发送邮箱配置文件 * db_fixture/: 初始化接口测试数据 * lib/: 程序核心模块。包含有excel解析读写、发送邮箱、发送请求、生成最新测试报告文件 * package/: 存放第三方库包。如HTMLTestRunner,用于生成HTML格式测试报告 * report/: 生成接口自动化测试报告 * testcase/: 用于编写接口自动化测试用例 * run_demo.py: 执行所有接口测试用例的主程序 -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值