Java+Jmeter接口测试
Arguments :getDefaultParameters用于获取界面的参数
SampleResult:runTestJavaSamplerContext context) 类似于LR的Action
void:( context) 初始化方法,类似于LR的init和Junit中的setUp()
void:teardownTest(JavaSamplerContext context) 类似于LR的end和Junit中的tearDown()
执行的先后顺序为:getDefaultParameters() --> setupTest(JavaSamplerContext context) -->
- package com.test.jmeter;
- import java.io.IOException;
- import org.apache.http.client.ClientProtocolException;
- import org.apache.jmeter.config.Arguments;
- import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
- import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
- import org.apache.jmeter.samplers.SampleResult;
- public class Jmeter_GetSearchSuggestion extends AbstractJavaSamplerClient {
- private static String label = "Jmeter_GetSearchSuggestion "; //定义label名称,显示在jmeter的结果窗口
- private String url;
- private String data;
- public void setupTest(){
- //定义测试初始值,setupTest只在测试开始前使用
- System.out.println("setupTest");
- }
- @Override
- public SampleResult runTest(JavaSamplerContext arg0) {
- url = arg0.getParameter("url");
- data = arg0.getParameter("data");
- SampleResult sr;
- sr = new SampleResult();
- sr.setSampleLabel(label);
- TestApiGetSearchSuggestion t = new TestApiGetSearchSuggestion();
- sr.sampleStart();
- try {
- //调用被压测接口的方法
- t.PostJson(url, data);
- sr.setSuccessful(true);
- } catch (ClientProtocolException e) {
- sr.setSuccessful(false);
- e.printStackTrace();
- } catch (IOException e) {
- sr.setSuccessful(false);
- e.printStackTrace();
- }
- sr.sampleEnd(); // jmeter 结束统计响应时间标记
- return sr;
- }
- public void teardownTest(JavaSamplerContext arg0){
- super.teardownTest(arg0);
- }
- public Arguments getDefaultParameters(){
- //参数定义,显示在前台,也可以不定义
- Arguments params = new Arguments();
- params.addArgument("url", "http://gapp.test.com/merchandise/GetSearchSuggestion");
- params.addArgument("data", "data={\"token\": \"aaaaaaaaaa\",\"body\": {\"keywords\": \"蓝月亮\"}}");
- return params;
- }
- }
Java+Jmeter接口测试的更多相关文章
- JMeter 接口测试-if控制器
JMeter 接口测试-if控制器 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...
- Jmeter 接口测试知识梳理——持续集成篇
Jmeter 使用也有很长时间了,但是一直没有做一下知识梳理,近期会对公司同事做一下这方面的培训,借此机会,把使用过程中应用到的知识,或是遇到的问题,整理出来,方便大家学习! Jmeter + Ant ...
- Jmeter接口测试(一) Jmeter简介
一.Jmeter介绍 (一)Jmeter简介 Apache JMeter 是 Apache 组织的开放源代码项目,是一个纯 Java 桌面应用,用于压力测试和性能测试.它最初被设计用于 Web 应用测 ...
- JMeter接口测试和压力测试
JMeter接口测试和压力测试 JMeter可以做接口测试和压力测试.其中接口测试的简单操作包括做http脚本(发get/post请求.加cookie.加header.加权限认证.上传文件).做web ...
- Jmeter接口测试加解密及Bean Shell使用案例
Jmeter接口测试加解密及Bean Shell使用案例 https://blog.csdn.net/russ44/article/details/56009084 本文以base64加解密为例: 一 ...
- 全网最全最细的jmeter接口测试教程以及接口测试流程详解
一.Jmeter简介 Jmeter是由Apache公司开发的一个纯Java的开源项目,即可以用于做接口测试也可以用于做性能测试. Jmeter具备高移植性,可以实现跨平台运行. Jmeter可以实 ...
- Jmeter接口测试流程详解(中科软测认证中心)
1.jmeter简介 Jmeter是由Apache公司开发的java开源项目,所以想要使用它必须基于java环境才可以: Jmeter采用多线程,允许通过多个线程并发取样或通过独立的线程对不同的功能同 ...
- http接口测试——Jmeter接口测试实例讲解
摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助 一.测试需求描述 1. ...
- jmeter接口测试教程
一.Jmeter接口测试步骤: 1.添加线程组
随机推荐
- maven 排除test测试类
<!-- 不编译test --> <plugin> <groupId>org.apache.maven.plugins</groupId> <ar ...
- JQ版本对比
JQ不知不觉来到第三版了,那么它们有什么不同呢? 下面先给大家推一个CDN加速的网站,上面有各种JQ的版本:http://www.bootcdn.cn/jquery/ 先来对比一下它们的“体重”,23 ...
- GO语言的进阶之路-网络编程之socket
GO语言的进阶之路-网络编程之socket 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是socket; 在说socket之前,我们要对两个概念要有所了解,就是IP和端口 ...
- python自动化运维之路~DAY6
python自动化运维之路~DAY6 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你想开发一款游戏,会存在角色的混搭的情况,这个时候“面向对象过程”就出现了,他能轻松的解决 ...
- C# 新特性
1.字符串中调用参数 DataTable dt= sqlHelper.SqlConnectionInformation(connstr,sql); string rows = JsonConvert. ...
- C#设计模式(15)——迭代器模式
1.迭代器模式介绍 迭代器模式主要用于遍历聚合对象,将聚合对象的遍历行为分离出来,抽象为一个迭代器来负责.迭代器模式用的十分普遍,C#/JAVA等高级语言都对迭代器进行了封装用于遍历数组,集合,列表等 ...
- java程序在windows后台执行的办法
1.新建run.txt文件 2.在文件中输入一下内容: @echo off start javaw -jar xx.jar exit 3.保存,修改文件名为run.bat4.双击即可 5.删除wind ...
- 虚拟机centos7系统下安装hadoop ha和yarn ha(详细)
一:基础环境准备 (一):虚拟机新建五个centos7系统(复制文件夹的方式) (二):角色分配 (三)按照角色分配表配置 (1)更改主机ip(自行查找),如果只是个人搭建玩一玩,可选择安装cento ...
- python的特殊方法介绍
__repr__.__str__ __len__.__getitem__.__setitem__.__delitem__.__contains__ __iter__.__reversed__.__ne ...
- POJ1236 Network of Schools【强连通】
题意: N(2<N<100)各学校之间有单向的网络,每个学校得到一套软件后,可以通过单向网络向周边的学校传输,问题1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件 ...