性能测试基础---jmeter webservice接口测试
·webservice接口测试实现。·SOA:面向服务的体系架构,主要为了应对大型系统的异构需求。典型的实现方式:webservice·微服务:为了对SOA这样的重服务架构进行解耦而存在的。一个or几个服务能够提供独立的功能,服务之间相互不影响,能够独立的发布和删除(管理)。典型的实现方式:RestFul
对于接口测试来说(功能),我们不需要关注接口的后台架构实现,只需要知道接口的通信协议即可。
·接口文档的要求:·接口的名称·接口的功能·协议及方法:·URI:通常不包含服务器地址和端口·入参:参数名称、值的类型·入参的示例。·返回:字段说明。·返回的示例。
·webservice接口实战:webservice接口:基于XML+SOAP+HTTP协议来实现的。服务的描述是通过XML格式的文档来实现。通信采用的数据报文格式是:SOAP(简单对象共享协议)HTTP:底层还是采用的http协议。实现方式有三种:webservice call:基于服务直接访问的。soap request:从soap层进行模拟。http request:直接从最底层进行模拟。·接口服务地址:http://192.168.2.212:8080/ws/services/HelloServices?wsdl一般来说,wsdl的地址,都需要借助相关的工具进行解析操作。常见的有SoapUI、Jmeter、LR等。
PS:在新版本的Jmeter中,对于webservice接口的支持只剩下了最后一种--http request。
http和soap request方式的实现,一定要有信息头:soapaction。
·Jmeter对于数据库的测试和使用。·哪些情况下需要在jmeter中去连接使用数据库?·查询校验。·查询做参数化·构造数据。·初始化数据·还原数据
·在Jmeter中,对于数据库的操作,都是基于JDBC方式来实现的。Jmeter提供了四个组件:·JDBC Connection Configuration:配置组件,必须,可以添加多个。·JDBC Request:JDBC请求组件,一般用于构造数据,执行性能测试等。·JDBC PreProcessor:JDBC前置组件,一般用于构造数据,初始化测试环境、参数化等。·JDBC PostProcessor:JDBC后置组件,一般用于检查点、还原数据。PS:JDBC请求、前置和后置处理器,这三个组件的配置项是一样的,区别只是在于执行的时机(作用域)。
·JDBC Connection Configuration配置:·Variable Name:连接变量的名称,即连接的别名,由用户自己指定,在后续的JDBC请求中需要用到,表示通过XX连接实现后续的SQL操作。
·Database URL:数据库的连接URL,不同的数据库的写法不一样。·JDBC Driver class:填写JDBC驱动类的package,JDBC的驱动需要到不同数据库自己的官网下载。下载之后要把jar包放在jmeter的lib目录。·username:数据库的用户名·password:数据库的密码。
·JDBC Request的配置:·Variable Name:该处填写的就是在JDBC Connection Configuration所定义的Variable Name,表示使用对应的JDBC连接配置去连接操作数据库。
·Query Type:请求类型,要求实际执行的SQL语句和请求类型匹配。·Select statement:对应select关键字·Update statement:对应insert、update、delete、create关键字。·Callable statement:对应存储过程的调用。
·Prepared Select statement:对应select关键字,支持批量SQL的写法,即允许SQL中出现问号。·Prepared Update statement:对应insert、update、delete、create关键字。支持批量SQL的写法,即允许SQL中出现问号。
·Parameter values:该属性是用于query Type是Prepared类型时,参数传值的。参数之间使用逗号分隔,参数是按照从左到右的顺序一一传值给SQL语句中的问号所在的位置的。在此种情况下,Jmeter自身的参数化就在该处完成。
·Parameter values:参数类型,和Parameter values对应,要求数量、顺序和·Parameter values保持一致。常用的类型必须大写:VARCHARNUMBERINTEGER等
·Variable names:该属性是用来指定存储查询结果的变量的名称。变量名称可以有多个,使用逗号分隔。变量将按照顺序一一对应结果中的列,即第一个变量接收第一列的数据,第N个变量接收第N列的数据。因此建议变量的数量和查询结果的列数保持一致。值的存储采取的是类似于数组的方式,下标1表示第一个值,下标N表示第N个值。
该属性一般是在前置和后置JDBC处理器中使用。用于前置处理器,则是用来实现参数化。用于后置处理器,则是用来实现检查点。
性能测试基础---jmeter webservice接口测试的更多相关文章
- 性能测试基础---jmeter函数二次开发
Jmeter函数的二次开发. ·什么时候需要进行jmeter的自定义函数扩展呢? 一般来说,如果我们要对数据进行处理,而jmeter没有提供相应的功能(函数),此时我们可以自己进行自定义函数的扩展. ...
- 性能测试基础---jmeter参数化、关联、事物、检查的等
·Jmeter脚本增强·性能测试的脚本增强技术:参数化.关联.事务.检查点.思考时间和集合点. ·参数化:在Jmeter中,实现参数化的方式很多.本质上来说,参数化的实现方式有两种:·文件方式:一般建 ...
- 性能测试基础---jmeter入门
·Jmeter入门 ·Jmeter的简介: ·Jmeter是一款基于纯JAVA语言开发的开源的性能测试工具. ·Jmeter的下载: ·最新版:http://jmeter.apache.org/dow ...
- 性能测试基础---jmeter二次开发
·Jmeter的二次开发,常见的有以下几种类型: ·扩展.修改Jmeter已有的组件(源代码) ·扩展.修改Jmeter已有的函数. ·完全自主开发一个新的组件(依赖于Jmeter提供的框架). ·扩 ...
- 性能测试基础---jmeter基础
·Jmeter的脚本构成: Jmeter的脚本是由很多不同的组件构成,在Jmeter中,组件可以分为以下几类: ·测试计划: 是默认存在的组件,所有的Jmeter的组件都是依赖于测试计划的. 在这个组 ...
- jmeter压测、操作数据库、分布式linux下运行、webservice接口测试、charles抓包
一.jmeter压测 在线程组中设置好,然后添加http请求,t添加聚合报告查看压力测试结果,如图: 一般压测时间10-15分钟,如果是稳定性测试,一般n*12小时,这些并发用户一直在请求. tps: ...
- JMeter性能测试基础 (1) - 安装及简单使用
Apache JMeter是一款开源性能测试工具,全部功能使用Java编写,可用于进行性能测试.JMeter最初被设计用于Web应用测试,之后被扩展至多个测试领域. Apache jmeter 可以用 ...
- Jmeter发送SOAP请求对WebService接口测试
Jmeter发送SOAP请求对WebService接口测试 1.测试计划中添加一个用户自定义变量 2.HTTP信息头管理器,添加Content-Tpe, application/soap+xml;c ...
- 性能测试工具JMeter 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
随机推荐
- Mysql查询数据库状态及信息
使用MySQL时,需要了解当前数据库的情况,例如当前的数据库大小.字符集.用户等等.下面总结了一些查看数据库相关信息的命令 1:查看显示所有数据库 mysql> show databases; ...
- Linux性能优化实战学习笔记:第三十八讲
一.上节回顾 上一节,我们学习了 DNS 性能问题的分析和优化方法.简单回顾一下,DNS 可以提供域名和 IP 地址的映射关系,也是一种常用的全局负载均衡(GSLB)实现方法. 通常,需要暴露到公网的 ...
- MySQL实战45讲学习笔记:第十三讲
一.引子 经常会有同学来问我,我的数据库占用空间太大,我把一个最大的表删掉了一半的数据,怎么表文件的大小还是没变? 那么今天,我就和你聊聊数据库表的空间回收,看看如何解决这个问题. 这里,我们还是针对 ...
- ADB/Fastboot刷机
谷歌官方ADB/Fastboot等工具包下载地址(最新版/免.墙):WINDOWS :https://dl.google.com/android/repository/platform-tools-l ...
- MySQL-InnoDB-MVCC多版本并发控制
一.MySQL可重复读级别下,因为MVCC引起的BUG,下图1为相应的Java代码,其中事务1的生命周期最长,循环开启的事务2.3.4...与事务1并行 ,数据的读取只会成功一次,后面的读不到新增数据 ...
- Java 获取所有子类信息
我以前的博客(Java Scala获取注解的类信息)介绍过通过Reflections工具通过使用特定注解的类的信息,其实本工具也可以获取接口,抽象类,类等的所有子类信息.使用方法如下: Reflect ...
- 第30课 线程同步(std::condition_variable)
一. 条件变量 (一)条件变量概述 多线程访问一个共享资源(或称临界区),不仅需要用互斥锁实现独享访问避免并发错误,在获得互斥锁进入临界区后,还需检查特定条件是否成立.当某个线程修改测试条件后,将通知 ...
- 微信企业号消息接口PHP SDK
微信企业号消息接口PHP SDK及Demo <?php /* 方倍工作室 http://www.fangbei.org/ CopyRight 2015 All Rights Reserved * ...
- 使用VUECLI3
$ yarn global add @vue/cli // OR $ npm install @vue/cli -g 然后在加入下面的代码 $ vue create my-app $ cd my-ap ...
- 通过IP获取MAC地址例子(内核层)
博客地址:http://home.cnblogs.com/u/zengjianrong/ 在内核处理此流程,反而更加简单些,代码如下: #include <net/arp.h> #incl ...