前言:

  本文主要针对http接口进行测试,使用Jmeter工具实现。

  Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。

1.介绍什么是接口

  现在最常用的2种接口就是webservice和http api接口,webservice接口是走soap协议通过http传输,请求报文和返回报文都是xm格式,可以通过jme、soapui工具进行测试; http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报文一般是json串,常见的请求方式有get、post请求等;

2.接口测试流程

     接口测试一般介入的时间是在整个项目未开发完成之前,提前进行接口测试,可以提前发现一些业务逻辑问题,方便进行web、app功能测试时,少出现一些技术性bug

a)需求评审,熟悉业务和需求

  b)开发提供接口文档(必须提供接口说明、url、请求方法、请求参数、参数类型、请求参数说明及返回参数说明)

  c)编写接口测试用例

  d)进行用例评审

  e)提测后开始测试

  f)提交测试报告

3.http协议常见的2种请求方式区别

  get和post请求:

    get请求:从指定的服务器中获取数据,直接在浏览器里输入就可以获取信息

    post的请求:提交数据给指定的服务器处理,可以向服务器发送修改请求,从而修改服务器的,需要借助测试工具;

    get请求特点:

       a)get请求能够被缓存

       b)get请求会保存在浏览器的浏览记录中

       c)以get请求的url能够保存为浏览器书签

       d)get请求有长度限制

       e)get请求主要用以获取数据

    post请求特点:

       a)post请求不能被缓存

       b)post请求不会保存在浏览器浏览记录中

         c)以post请求的url无法保存为浏览器书签

       d)post请求没有场地限制

  get和post的区别:
  GET POST
点击返回/刷新按钮 没有影响 数据会重新发送(浏览器将会提示用户“数据被从新提交”)
添加书签 可以 不可以
缓存 可以 不可以
编码类型(Encoding type) application/x-www-form-urlencoded
application/x-www-form-urlencoded or multipart/form-data. 请为二进制数据使用multipart编码
历史记录 没有
长度限制 没有
数据类型限制 只允许ASCII字符类型 没有限制。允许二进制数据
安全性 查询字符串会显示在地址栏的URL中,不安全,请不要使用GET请求提交敏感数据 因为数据不会显示在地址栏中,也不会缓存下来或保存在浏览记录中,所以看POST求情比GET请求安全,但也不是最安全的方式。如需要传送敏感数据,请使用加密方式传输
可见性 查询字符串显示在地址栏的URL中,可见 查询字符串不会显示在地址栏中,不可见

 http与https协议的区别:

  1. http是超文本传输协议,信息是明文传输;https是具有安全性的ssl加密传输协议。

  2. http与https使用的是不同的连接方式,端口也一样,http默认端口是80;https默认端口是443;

  3. http连接状态比较简单,是无状态的;https协议是由ssl+http协议组成的可进行加密传输、身份认证的网络协议。

4. http接口测试-简单示例

  a. get请求,一般是url通过?拼接参数,多个参数之间使用&符链接;也可以在parameters内通过key-value形式传参数

  b. post请求,请求参数格式是Content-Type:appication/json

  c.post请求,上传文件,请求参数格式是file

  d. post请求,需要传头信息header

  e.post请求,需要添加cookie信息

   f.请求加断言

 

5. jmeter 关联

  与系统交互过程中,系统返回的内容,需要在接下来的交互中用到,简单说明就是:A接口的返回值中设置正则表达式提取器提取想要的值,在B接口中引用 

jmeter接口测试-总结的更多相关文章

  1. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  2. jmeter接口测试教程

    一.Jmeter接口测试步骤: 1.添加线程组

  3. 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

    通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

  4. jenkins+ANT+jmeter 接口测试环境搭建

    目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...

  5. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...

  6. Jmeter接口测试-断言

    JMeter接口测试-断言  对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功,  如果否, 任务失败 ...

  7. jmeter接口测试实战-创建用户

    jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...

  8. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  9. JMeter 接口测试-if控制器

    JMeter 接口测试-if控制器 ​ 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...

  10. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

随机推荐

  1. Win7文件正在使用无法删除怎么办

    Windows 7下删除文件提示被占用?系统内置工具搞定 Windows7之家(www.win7china.com):Windows7下删除文件提示被占用?系统内置工具搞定 在Windows中,删除文 ...

  2. DataBase 之 数据库设计六大范式

    范式是符合某一种级别的关系模式的集合.关系数据库中的关系必须满足一定的要求,即满足不同的范式. 目前关系数据库有六种范式:第一范式(1NF).第二范式(2NF).第三范式(3NF).第四范式(4NF) ...

  3. App开发架构指南(谷歌官方文档译文)

    这篇文章面向的是已经掌握app开发基本知识,想知道如何开发健壮app的读者. 注:本指南假设读者对 Android Framework 已经很熟悉.如果你还是app开发的新手,请查看 Getting ...

  4. SVN 常见命令

    一.什么是SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 二.SVN的下载安装 下载地址:http ...

  5. js设置百分比保留两位小数

      CreateTime--2017年8月23日11:03:31Author:Marydon js设置百分比保留两位小数 错误用法: var percent = (num1/num2) * 100%; ...

  6. python贪吃蛇

    代码地址如下:http://www.demodashi.com/demo/13335.html 一.先展示python贪吃蛇效果 二.操作说明 按键 功能 UP 向上移动 DOWN 向下移动 LEFT ...

  7. 单元测试JUnit 4(二)——keeps the bar green to keeps the code clean

    1.Failure和Error Failure是指测试失败  Error是指测试程序本身出错  (int a=10/0) 2.JUnit常用注解 2.1 @RunWith: 可以更改测试运行器(继承o ...

  8. <转>LuaTinker的bug和缺陷

    LuaTinker的bug和缺陷 LuaTinker是一套还不错的C++代码和Lua代码的绑定库,作者是韩国人Kwon-il Lee,作者应该是参考了LuaBind后,为了简化和避免过重而实现的.其官 ...

  9. Python 代码块左移或右移

    (就 IDE 是  PyCharm 来说) 选中代码块: 1)右移:直接 Tab 2)左移:Shift + Tab Python 对代码对齐要求很严格的. Python的对齐方式很重要,对齐方式决定了 ...

  10. 补习知识:Entity Framework Code First属性映射约定

    Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API.本文中采用创建Product类为例来说明tity Fram ...