查看完整文章点击原文链接:纯python自研接口自动化脚本更新版本,让小白也能实现0到1万+的接口自动化用例

你是否还在用postman\jmeter做接口自动化吗?用python的开源框架【unittest\pytest】一个一个接口码代码搬运吗?网上调查无论是刚入门的还是进阶阶段的测试者,大部分人以及培训机构的课程还是这样做的接口自动化!

本号推出以一顶三的python自研接口自动化框架,当然也是利用从Excel读取做为驱动和存储测试数据完成接口自动化,请仔细看完这篇文章你就知道脚本的魅力所在了! 

激动的心,颤抖的手,拿起你的小板凳,坐着准备好,接下来要带领你们进入懒人的队伍了! 

终于内测完成,解决了BUG,如还存在BUG那是自然的! 

现对本号出品的原创文章:【python脚本实现接口自动化轻松搞定上千条接口用例】中使用的接口自动化脚本,更新版本啦!其实何止上千条,上万条接口用例业务复杂的上下关联接口都可以很方便的管理,并且新增项目的接口直接使用,不仅仅用于回归测试,能大大提高工作效率。

效率提高了升职加薪还远吗?

「这次版本多了哪些功能呢?」

     1.之前版本所有状态码和响应值与预期结果判断都是excel函数判断,现移入代码统一判断后写入excel
2.之前版本响应值断言,只能判断某一个字段,现可判断多个字段
3.之前版本测试结果均是excel表中统计,excel结果也还保留之前格式,增加所有统计均是代码统计好之后使用html页面展示
4.增加邮件发送功能,支持excel表【测试环境配置】表控制是否发送邮件功能
5.优化excel首行参数
6.抛出异常写入excel对应接口用例中方便排查
7.详细的日志打印输出
8.暖心为你们准备一系列脚本使用思路

「脚本实现的全功能内容」

接口自动化的基础操作

1.支持HTTP的接口请求:post、get、put、head、delete

2.支持下传、下载文件、图片等接口

接口自动化的进阶内容

3.支持状态码、响应值多个参数断言判断【预期状态码和响应值excel表格控制,代码直接使用正则判断】

4.支持常量:一般常量都用于全局,自动化测试里面参数化思想是非常重要的,同一类型的测试,只需维护不同的数据就可以

5.支持变量:如响应值返回一个参数,返回多个不同的值,可区分赋值给对应的变量,提取单个值就更不用说了肯定也支持

接口自动化的高级应用

6.支持动态参数:如动态参数【上下接口参数关联】配置,支持不同的json格式响应值提取动态参数

7.批量执行接口时不会因为某个接口出现错误而停止,抛出异常写入excel表中

8.详细日志输出和日志保存功能

9.支持测试完成后自动生成两种测试报告:详细的excel表报告和统计数据:HTML测试报告展示

10.支持在excel中控制邮件是否发送,邮件发送功能因有截取网页中图片需安装PhantomJS是一个无界面的,可脚本编程的WebKit浏览器引擎,官方下载:http://phantomjs.org/download

11.可根据业务进行扩展再开发,如非通用功能,接口需要MD5参数校验

备注:pytestreport测试报告html展示是借鉴:https://github.com/five3/PyTestReport,直接借用API嵌入脚本使用

纯python自研接口自动化脚本更新版本,让小白也能实现0到1万+的接口自动化用例的更多相关文章

  1. python+pytest接口自动化(12)-自动化用例编写思路 (使用pytest编写一个测试脚本)

    经过之前的学习铺垫,我们尝试着利用pytest框架编写一条接口自动化测试用例,来厘清接口自动化用例编写的思路. 我们在百度搜索天气查询,会出现如下图所示结果: 接下来,我们以该天气查询接口为例,编写接 ...

  2. Jmeter 接口自动化-脚本数据分离实例

    一. 背景:  为了让大家更加的了解Jmeter,并且使用起来游刃有余.这篇我们主要讲一下,如何优雅的使用Jmeter一步步的实现接口自动化,完成脚本与数据分离,把可能对Jmeter脚本的维护转移到c ...

  3. python+requests+yaml实现接口自动化用例

    前言:最近也思考了一下怎么做接口自动化,以下内容属于自己目前阶段所学习到的内容,也逐渐投入自己实际工作中,把最近的学习新得跟大家分享下,话不多说,切入正题. 对接口自动化测试用例的思考:接口测试大多测 ...

  4. 【Golang】基于录制,自动生成go test接口自动化用例

    背景 之前写过一篇博客,介绍怎么用Python通过解析抓包数据,完成自动化用例的编写.最近这段时间在使用go test,所以就在想能不能也使用代码来生成自动化用例,快速提升测试用例覆盖率.说干就干. ...

  5. 【Robot Framework 项目实战 03】使用脚本自动生成统一格式的RF自动化用例

    背景 虽然大家都已经使用了统一的关键字,但是在检查了一些测试用例之后,还是发现因为大家对RF的熟悉程度不一导致的测试用例颗粒度差异很大的情况:而且在手动方式转化测试用例过程中,有不少工作是完全重复的且 ...

  6. Python+selenium第一个自动化脚本

    第一个自动化脚本(用Python写的) from selenium import webdriver  #从selenium导入webdriber driver=webdriber.Firefox() ...

  7. 简单的python http接口自动化脚本

    今天给大家分享一个简单的Python脚本,使用python进行http的接口测试,脚本很简单,逻辑是:读取excel写好的测试用例,然后根据excel中的用例内容进行调用,判断预期结果中的返回值是否和 ...

  8. python抢小米6自动化脚本

    #!/bin/env python # coding=utf-8 from selenium import webdriver import time import unittest class Ge ...

  9. 【Golang 接口自动化05】使用yml管理自动化用例

    我们在前面几篇文章中学习怎么发送数据请求,怎么处理解析接口返回的结果,接下来我们一起来学习怎么进行测试用例管理,今天我们介绍的是使用yml文件进行用例管理,所以首先我们一起来了解一下YAML和它的简单 ...

随机推荐

  1. canvas 绘图api的位置问题

    很久没碰canvas了,今天因为canvas绘图的为之问题浪费了一些时间. 我们知道canvas的默认宽高是300X150嘛. 实际使用的时候当然是自定义一个高宽啦. 通常我们会习惯性地在js中通过c ...

  2. Struts2深入之动态调用Action

    使用过Struts2的小伙伴们应该知道当我们的action的方法过多是如果需要通过Struts2框架进行运行,我们就必须在Struts2的配置文件Struts2.xml文件中配置多个action属性标 ...

  3. rabbitMQ消息队列原理

    MQ:Message Queue,消息队列,是一种应用程序对应用程序的通信方法:应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 1      rabbitMQ入 ...

  4. JavaScript 后台获取数据 - HTTP203 Advent(中文字幕)

    如果关注过 Google 相关的开发技术,对 HTTP203 这个栏目应该不陌生. 这是 HTTP203 圣诞节的特别版! Jake(@jaffathecake)和 Surma(@DasSurma)有 ...

  5. P1518 两只塔姆沃斯牛 The Tamworth Two(简单的搜索题)

    题目描述 两只牛逃跑到了森林里.农夫John开始用他的专家技术追捕这两头牛.你的任务是模拟他们的行为(牛和John). 追击在10x10的平面网格内进行.一个格子可以是: 一个障碍物, 两头牛(它们总 ...

  6. Re模块的 三个方法

    import re s1 = '绿茶白茶黄茶青茶红茶黑茶' s2 = '中国绿茶白茶黄茶青茶红茶黑茶' ret = re.findall(".茶", s1) print(ret) ...

  7. kafka简介及集群部署

    消息队列概念:(Message queue): “消息”是在两台计算机间传送的数据单位.消息可以非常简单,例如只包含文本字符串:也可以更复杂,可能包含嵌入对象. “消息队列”是在消息的传输过程中保存消 ...

  8. 对已经创建的docker container设置开机自启动

    首先显示出所有的容器 docker ps -a #显示所有容器 设置已经建立的容器的开机自启动方法 docker update --restart=always <container ID 根据 ...

  9. 使用 vi 命令创建一个cpp文件

    mkdir text //创建一个text的文件夹 cd text //打开text的文件夹 vi text.cpp //创建text.cpp 按住 i 键输入程序 输入后按esc,再按wq退出 ls ...

  10. 用Visual Studio2019自定义项目模板

    项目模板简介 众所周知,在我们使用VS新建项目时,都需要选择一个项目模板,如下图: 我们选择完项目模板进行创建,创建完成之后,可以发现项目中已经包含了一些基础的文件.例如MVC: 可以看到,MVC项目 ...