性能测试基础---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 基础(六)—— 测试元件: 线程组
线程组的定义: 线程组是测试计划执行的入口,所有的逻辑控制器和取样器都必须在线程组下,其他的元件根据位置的不同作用域是不同的. 线程组是每个线程都是独立运行测试脚本,一个线程组就等于一个用户,通过多个 ...
随机推荐
- 关于gcd
内容: \(gcd(a,b)=gcd(b,a\% b)\) 用途: 这不废话嘛,当然是用来求最大公约数啊 证明:(这还是四月份的时候cdx巨佬给我讲的qwq) 设\(d=gcd(a.b)\) 则有\( ...
- wpf “{DependencyProperty.UnsetValue}”不是属性“Background”的有效值。异常
, 在wpf模板中, 有一个Background绑定的值不存在导致的异常, 我的是有这个没有导致的错误, 自己添加之后就没有了
- Circumference of circle
public class Solution { public static void main(String[] args) { Scanner ip = new Scanner(System.in) ...
- 喜欢去知乎炸鱼?用python吧
知乎高赞贴: 有一双大长腿是什么体验? 有一副迷人的身材是什么体验? 别用手机费劲的翻了,python帮你一臂之力 import re import requests import os import ...
- DingTalk钉钉消息推送(.net core 3 WebApi尝鲜记)
我发了个朋友圈,Swagger真他妈的牛B,解放了开发API的码农,麻麻再也不用担心我们写API文档耽误回家吃饭了. /// <summary> /// 发送钉钉消息 /// </s ...
- 第27课 “共享状态”及其管理者(std::future/std::shared_future)
一. “共享状态” (一)“共享状态”对象 1. 用于保存线程函数及其参数.返回值以及新线程状态等信息.该对象通常创建在堆上,由std::async.std::promise和std::package ...
- Nodejs操作MySQL数据库
https://github.com/mysqljs/mysql 如何用nodejs操作MySql数据呢,其实写法还是简单的, 1.开始在你的node项目中 npm install mysql - ...
- go-gin-api 路由中间件 - 日志记录
概述 首先同步下项目概况: 上篇文章分享了,规划项目目录和参数验证,其中参数验证使用的是 validator.v8 版本,现已更新到 validator.v9 版本,最新代码查看 github 即可. ...
- [Python学习笔记-007] 使用PyEnchant检查英文单词
最近在教儿子做自然拼读,跟他玩了一个单词游戏,就是利用简单的枚举找出适合小朋友学习的两个字母的单词.人工找寻难免有疏漏之处,这里使用PyEnchant给出一个简单的脚本. 01 - foo.py #! ...
- R与金钱游戏:均线黄金交叉2
从上一篇分析已经得知均线黄金交叉原则并不适用于震荡期,那有什么办法可以规避震荡期呢或者说有什么办法可以减少无脑跟的损失?我们继续玩一下. Required Packages library(quant ...