jmeter java接口,jmeter并發測試java接口 | 學步園

Sample

這里我用到主要JMeter的線程和報表,擴展了他的“Java請求”這個應用類別。要擴展此應用,要用到lib/ext/ApacheJMeter_java.jar,他封裝此應用。

首先,需要繼承ApacheJMeter_java.jar中的抽象類AbstractJavaSamplerClient,它提供了四個抽象方法: void setupTest(JavaSamplerContext arg0),SampleResult runTest(JavaSamplerContext arg0), void teardownTest(JavaSamplerContext arg0), Arguments getDefaultParameters()。setupTest和teardownTest與JUnit中的類似,分別在測試的開始和結束時執行。

runTest為主要測試方法,所有測試程序都在這里完成,JavaSamplerContext參數封裝測試中需要的所有外界數據(如配置信息等)。其 SampleResult封裝了所有測試結果(如:測試是否成功?程序執行時間等),getDefaultParameters用于把測試的一些默認數據在程序運行前顯示到JMeter客戶端,這個可以和runTest配合使用,實現數據的呈現和配置。

下面為程序:

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;

import com.ebupt.wv.client.WVClient;

public class Login2 extends AbstractJavaSamplerClient {

private static String label = "userLogin"

private String name;

private String address;

public void setupTest(JavaSamplerContext arg0) {

System.out.println("setupTest");

}

public SampleResult runTest(JavaSamplerContext arg0) {

name = arg0.getParameter("name");

address = arg0.getParameter("address");

SampleResult sr;

sr = new SampleResult();

sr.setSampleLabel(label);

try{

sr.sampleStart();?//記錄程序執行時間,以及執行結果?sr.setSuccessful(true);?System.out.println("send over!");

}catch(Throwable e){

sr.setSuccessful(false);?}finally{

sr.sampleEnd();?}

return sr;

}

public void teardownTest(JavaSamplerContext arg0) {

}

public Arguments getDefaultParameters() {

Arguments params = new Arguments();

params.addArgument("name", "JMeter");

params.addArgument("address", "localhost");

return params;

}

}

其次,把寫好的應用打包,放到lib/ext下,JMeter運行時即可找到。同時還要把用戶自己編寫的應用所依賴的包放在lib下。運行JMeter。界面打開后,右鍵“測試計劃”,添加線程組;右鍵“線程組”-添加-Sampler-Java請求,在類名稱處選擇剛才寫好的類。

如圖:

a302a2c7bd4b87c9d8b38d6ae207fcdd.png

這里,可以同時添加多個線程組、多個java請求、同時可以添加監聽器用于輸出不同的的測試結果圖形、報表,各個請求之間可以用邏輯控制器進行執行流程的控制。如圖:

6ca01e255dadb5ffa8a2ad416cedc3e1.png

最后,點擊運行-啟動,保存相應的項目,即可開始運行。運行時的數據,可以通過監聽器寫入文件以便需要時生成報表。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273079.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273079.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273079.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Web項目練習總結(錯誤校正篇)

老師布置任務,從SVN上弄個項目來練練手,熟悉下過程。 myeclipse安裝SVN 然后把MobileManageSys下下來 然后漫長的等待。。。 然后配置數據庫,導入,這里用的是SQLyog,其他的也可以 之后這里會產生一大堆的錯誤&#xff…

php 網格,PHP中的數據網格

你可以使用http://phpgrid.com$dg new C_DataGrid("SELECT * FROM orders", "orderNumber", "orders");// change column titles$dg->set_col_title("orderNumber", "Order No.");$dg->set_col_title("orderDat…

matlab常用隸屬度函數,常用隸屬函數.ppt

模糊集基本理論 典型隸屬函數 如前所述, 構造恰當的隸屬函數是模糊集理論應用的基礎。一種基本的構造隸屬函數的方法是“參考函數法”, 即參考一些典型的隸屬函數, 通過選擇適當的參數, 或通過擬合、整合、實驗等手段得到需要的隸屬函數。 下面介紹典型隸屬函數(最早由法國學者…

適配器模式的應用

1.適配源類:java.util.Properties 2.適配目標類:FileIO 3.適配器 FileProperties package fileio;import java.io.IOException;public interface FileIO {public void readFromFile(String fileName) throws IOException;public void writeToFile(String…

nginx php7提速,nginx+php7-fpm 性能提升幾倍跟蹤實踐結果并優化

nginxphp7-fpm 性能提升幾倍跟蹤實踐結果并優化nginxphp7-fpm 性能提升幾倍,跟蹤實踐結果并優化歷史ubuntu服務器使用的apachephp5,現在使用nginuxphp7-fpm方式,看效果圖,啥也不說了。強烈推薦升級到php7,當然升級中基…

Where條件的in里面放太多數據導致很慢

比如:select * from TableA where ID in (42,216,219,230,231,220,249,250,221,251,252,217,253,255,256,254,257,258,1804) 52W數據,查詢速度19386ms,好慢怎么辦?程序都卡死了。 那么試一下百度搜索到的優化方式? 1.將…

inur new.php id,Cmsez(隨易)全站系統注入0day

allinurl:"owered by CMSEZ" comments.php inurlowered by CMSEZ//commentsinclude "mainfile.php";$artnew article();//設定$confirmyes;//yes:需要管理員認證后才能顯示,no:直接顯示$membernew member();$user_info$member->member_auth();$ulevel$u…

matlab地球衛星模型,地球衛星三維運行軌道MATLAB仿真

地球衛星三維運行軌道MATLAB仿真1、問題的描述3 軌道上運行的地球衛星,根據牛頓第二定律Fma以及萬有引力定律F-GmME*r/r,3可得a-GME*r/r,即x -GME*x/r3 3 y -GME*y/r; z -GM*z/r3E (1)式中,(x,y,z)表示衛星…

LeetCode 3. Longest Substring Without Repeating Characters

原題鏈接在這里:https://leetcode.com/problems/longest-substring-without-repeating-characters/ 題目: Given a string, find the length of the longest substring without repeating characters. For example, the longest substring without repea…

The mook jong 計數DP

The mook jong ZJiaQ為了強身健體,決定通過木人樁練習武術。ZJiaQ希望把木人樁擺在自家的那個由1*1的地磚鋪成的1*n的院子里。由于ZJiaQ是個強迫癥,所以他要把一個木人樁正好擺在一個地磚上,由于木人樁手比較長,所以兩個木人樁之間…

java executequery,JDBC中的execute(),executeQuery()和executeUpdate()方法有什么區別?

一旦你創建了Statement對象可以使用的即聲明接口的執行方法之一執行它,execute(),executeUpdate()和executeQuery()。的execute()方法:該方法是用于執行SQL DDL語句,它返回一個布爾值,指定的天氣ResultSet對象可以被檢…

ThinkPHP- 3.1

基礎: 1. 基礎概念 LAMP LAMP是基于Linux,Apache,MySQL和PHP的開放資源網絡開發平臺。這個術語來自歐洲,在那里這些程序常用來作為一種標準開發環境。名字來源于每個程序的第一個字母。每個程序在所有權里都符合開放源代碼標準&am…

java 判斷域密碼到期提醒,Exchange Server 2010下,檢測用戶密碼到期通知提醒腳本...

#############################################Author:wangtingdong#For:檢測AD密碼過期時間并郵件通知#Version:1.0##############################################Import-Module Activedirectory#1和2選擇一個執行#1檢索出指定OU里不包含設置了永不過期及禁用的賬戶#$allad…

php中定義css樣式的好處,CSS的優點和缺點分別是什么

CSS的優點有:豐富的樣式定義、易于修改、結構清晰、多頁面使用等;CSS的缺點:瀏覽器支持不一樣具有兼容性、不能明確指定繼承性CSS的主要哦作用是為HTML頁面添加樣式,使得頁面更加美觀。接下來在文章中將為大家詳細介紹CSS的優點與…

前端工具整理

代碼的規范】 http://www.css88.com/doc/codeguide/ 【Viewport Sizes尺寸查詢】 http://viewportsizes.com/?filter 【在線小工具】 http://www.xueui.cn/design/online-tools 【px,em,rem單位轉換工具】 http://pxtoem.com/ 【json格式化】 http://jsonlint.com/ 【在線…

mysql無法本地連接,本地連接騰訊云Mysql失敗問題

騰訊云主機中MySQL無法遠程連接的解決辦法在遠程主機上,我開啟了 mysql服務,用 phpmyadmin 可以打開,比如說用戶名為 root,密碼為 123456。不過用 Mysql 客戶端遠程連接時卻報了錯誤,比如 Mysql-Front 報了如下Access …

python getcwd 轉義,Python os.getcwd() 方法

Python os.getcwd() 方法概述os.getcwd() 方法用于返回當前工作目錄。語法getcwd()方法語法格式如下:os.getcwd()參數無返回值返回當前進程的工作目錄。實例以下實例演示了 getcwd() 方法的使用:#!/usr/bin/python# -*- coding: UTF-8 -*-import os, sys…

函數_方法_的四種調用方式

class Program{/// <summary>/// 無參數&#xff0c;無返回值/// </summary>/// <param name"args"></param>static void n1(){Console.WriteLine("這是第一種方法");}/// <summary>/// 有參數&#xff0c;無返回值/// <…

php_cawler_html嵌套標簽清洗

主要處理 嵌套 div&#xff0c;正則無法很好的處理清洗 比如文本&#xff1a; 想要移除 class quizPutTag 的div &#xff0c;內部可能嵌套的還有未知層級的div【前提是html文本段是閉合標簽的】 這是<div>test<div class"quizPutTag">test</div>…

php添加項目,thinkphp添加一個項目

假如我們想新建一個app項目&#xff0c;創建一個app文件夾&#xff0c;在app目錄下 新建一個index.php文件加上入口文件引用define(APP_DEBUG,TRUE);require_once(../ThinkPHP.php);訪問你剛建立的文件&#xff0c;這時候app目錄里面自動新建了所需的文件app/conf/config.php這…