简单的接口自动化测试

# coding=utf-8
import requests, xlrd, pymysql, random, xlutils, copy, time, openpyxl

def readexcel(file_path):

    try:
        book=xlrd.open_workbook(file_path)
    except Exception as e:
        print("文件路径不对")
        return e
    else:
        # 获取第一张表
        sheet1 = book.sheets()[0]
        rows = sheet1.nrows  # 获取表的总列数
        # 保存每一条case
        case_list=[]
        for i in range(rows):
            if i !=0:
                case_list.append(sheet1.row_values(i))

        interfacetest(case_list,file_path)

def interfacetest (case_list,file_path):
    # 存放测试结果的list
    res_flags=[]
    # 存放请求报文的list
    request_url=[]
    # 存放响应的list
    responses=[]
    # 遍历测试用例
    for case in case_list:
        ‘‘‘
        遍历每一条case
        ‘‘‘
        try:
            part=case[0]
            case_id=case[1]
            interfacename=case[2]
            method=case[3]
            url=case[4]
            param=case[5]
            res_check=case[6]
        except Exception as e:
            print("测试用例格式错误,%s" %e)
        if param==" ":
            new_url=url
            request_url.append(new_url)
        else:
            new_url=url+"?"+param.replace(";","&")
            request_url.append(new_url)
        if method.upper()=="GET":
            results=requests.get(new_url).text
            print(results)
            res_flag = readRes(results, res_check)
            res_flags.append(res_flag)
            responses.append(results)
        else:
            results = requests.post(new_url).text
            print(results)
            res_flag=readRes(results,res_check)
            res_flags.append(res_flag)
            responses.append(results)
    recordexcel(file_path,res_flags,request_url,responses)

def readRes(res,res_check):
    ‘‘‘
    :param res: 返回报文
    :param res_check: 预期结果
    :return: 是否通过
    ‘‘‘
    res=res.replace(":","=")
    res_check=res_check.split(";")
    for s in res_check:
        if s in res:
            pass
        else:
            return "返回参数与要求不一致"+str(s)
    return "pass"

def recordexcel(file_path,res_flag,request_url,responses):
    ‘‘‘
    将结果写入excel
    :param file_path:
    :param res_flag:
    :param request_url:
    :param responses:
    :return:
    ‘‘‘
    book=xlrd.open_workbook(file_path)
    new_book=copy.copy(book)
    sheet=new_book.sheet_by_index(0)
    i=1
    for flag,url,response in zip(res_flag,request_url,responses):
        sheet.write(i,8,u‘%s‘ %flag)
        sheet.write(i, 9, u‘%s‘ % url)
        sheet.write(i, 10,u‘%s‘ % response)
        i+=1
    new_book.save(‘%s 测试结果.xls‘ %time.shiftime("%Y%m%d%H%M%S"))

readexcel("C:\\Users\\admin\\Desktop\\0116.xlsx")
时间: 2024-10-12 14:06:56

简单的接口自动化测试的相关文章

简单实现接口自动化测试(基于python+unittest)

简单实现接口自动化测试(基于python+unittest) 简介 本文通过从Postman获取基本的接口测试Code简单的接口测试入手,一步步调整优化接口调用,以及增加基本的结果判断,讲解Python自带的Unittest框架调用,期望各位可以通过本文对接口自动化测试有一个大致的了解. 引言 为什么要做接口自动化测试? 在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归.但接口自动化测试因其实现简单.维护成本低,容易提高覆盖率等特点,越来越受重视.

如何简单实现接口自动化测试(基于 python) 原博主地址https://blog.csdn.net/gitchat/article/details/77849725

如何简单实现接口自动化测试(基于 python) 2017年09月05日 11:52:25 阅读数:9904 GitChat 作者:饿了么技术社区 原文:如何简单实现接口自动化测试(基于 python) 关注微信公众号:GitChat 技术杂谈 ,这里一本正经的讲技术 一.简介 本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势,然后简单讨论了一下接口测试框架的要点,最后介绍了一下我们目前正在使用的接口测试框架pithy.期望读者可以通过本文对接口自动化测试有一个大致的了解. 二.引言

Postman实现简单的接口自动化测试

实现单一接口的迭代: 举个栗子:  登陆接口 URL: http://xxx.xxx.xxx/login 请求方式: Post 参数:  username     必输      String      用户名 password     必输      String      密码 首先,准备登陆用的测试数据,根据接口说明要求2个必要参数,分别是username及password   我们可以创建一个txt文档,有几个必要的参数则需要写几列,以逗号分隔,内容如下: 接下来我们回到Postman,

接口自动化测试的"开胃小菜"---简单黑客攻击手段

Web应用系统的小安全漏洞及相应的攻击方式 接口自动化测试的"开胃小菜" 1   写作目的 本文讲述一个简单的利用WebAPI来进行一次基本没有破坏力的“黑客”行为. 主要目的如下: 了解什么叫安全漏洞 知道什么是api 了解一些获取api的工具 通过对API的认识了解白盒接口测试基本概念和技术 免责声明: 本文主要是以学习交流为目的,而且实验的对象也是通过搜索引擎随机选择的.不以搞破坏为目的,纯粹是以教学为目的,同时也警醒大伙重视基本的互联网安全.当然,本文会对关键字打个马赛克,防止

零成本实现接口自动化测试 – Java+TestNG 测试Restful service

本文是转载Wade Xu的文章http://www.cnblogs.com/wade-xu/p/4229805.html 接口自动化测试 – Java+TestNG 测试 Restful Web Service 关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试Restful Web Service, 数据分离,Java+Maven+TestNG 本文主要介绍如何用Java针对Restful web service 做接口自动化测试(数据驱动),相比UI自动化,接口自动化稳定性

接口自动化测试框架搭建 – Java+TestNG 测试Restful service

接口自动化测试 – Java+TestNG 测试 Restful Web Service 关键词:基于Rest的Web服务,接口自动化测试,数据驱动测试,测试Restful Web Service, 数据分离,Java+Maven+TestNG 本文主要介绍如何用Java针对Restful web service 做接口自动化测试(数据驱动),相比UI自动化,接口自动化稳定性可靠性高,实施难易程度低,做自动化性价比高.所用到的工具或类库有 TestNG, Apache POI, Jayway r

接口自动化测试--基础篇

点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下: 更多书籍,敬请期待 上次分享了http协议后,很多朋友问,做接口自动化测试如何入门,今天小怪简单分享介绍下,1.我们需要的的基础知识,2.Fiddler接口测试演示,3.jmeter接口测演示,详细如下: 视频地址:https:/

接口自动化测试框架 (一) :APIAutoTest框架

前言 随着测试技术的发展,接口自动化测试逐渐成为各大公司投入产出比最高的测试技术.介入时间早,执行效率高,稳定性高的优点,让越来越多的公司引入接口自动化测试. 框架简介 APIAutoTest是处理API接口的轻量级自动化测试框架,Java语言实现,基于TestNG测试框架,支持持续集成,自动构建与测试. 框架介绍 1.    数据驱动设计,使用TestNG中的@DataProvider读取Excel中存储的自动化测试用例. 2.    基于TestNG测试框架 3.    使用HttpClie

ant+jmeter+Jenkins接口自动化测试实战(1)

项目中需要做接口自动化测试,于是就去做实验,做实验要从搭建测试环境开始.在学习的过程中肯定会遇到不同的问题,于是就用了两天的时间做了一个简单的接口自动化环境,中间也遇到一些问题,现在把路上踩到的坑记录下来. 1,ant 环境搭建 下载ant包,配置环境变量. 配置方法见我另外一篇博客.地址如下: http://fangwei009.blog.51cto.com/5234706/1910384 2,jmeter 环境搭建 下载jmeter,搭建方法见另外一个博客,地址如下: http://fang