日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jmeter测试普通java类说明

發布時間:2023/11/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jmeter测试普通java类说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

???????? Apache JMeter是Apache組織開發的基于Java的壓力測試工具。本文檔主要描述用Jmeter工具對基于Dubbo、Zookeeper框架的Cassandra接口、區塊鏈接口進行壓力測試的一些說明,為以后類似接口的測試提供參考。

環境部署

1、? 下載Jmeter工具apache-jmeter-3.3.zip:

http://jmeter.apache.org/download_jmeter.cgi

2、? 解壓apache-jmeter-3.3.zip;

3、? 運行bin目錄下的jmeter.bat,就可以看到Jmeter測試界面(Linux環境請運行jmeter.sh)。如下圖所示:

測試流程

1、? 打開Jmeter工具,在【測試計劃】下面添加【線程組】,如下如圖所示:

?

2、? 在【線程組】下面添加【java請求】,如下圖所示

3、? 在【線程組】下面繼續添加【察看結果數】和聚合報告,如下圖所示

?

4、? 接下來在我們的consumer工程中,用maven引入Jmeter依賴的jar包,在pom.xml文件加入如下幾行代碼:

?? <dependency>

??????? <groupId>org.apache.jmeter</groupId>

??????? <artifactId>ApacheJMeter_core</artifactId>

??????? <version>3.0</version>

??? </dependency>

??? ???????? <dependency>

??????? ???????? <groupId>org.apache.jmeter</groupId>

????? ???????? <artifactId>ApacheJMeter_java</artifactId>

??????? ???? <version>3.0</version>

</dependency>

5、? 加好之后,用Maven編譯consumer工程,編譯成功后,會在工程中引入如下兩個Jmeter jar包:

6、? 編寫Jmeter測試用例,需要繼承AbstractJavaSamplerClient類,這個步驟很重要,寫好之后,后續導出xxx.jar包后,Jmeter界面使用這個測試用例進行壓力測試,下面附上詳細代碼

public class JMeterTestSign extends AbstractJavaSamplerClient {
??? private String resultData ; //寫入結果樹時使用
??? private SampleResult results;
??? //提供給jmeter的對外參數,可修改
??? String value;
??? String type;

??? /**
???? * 測試方法運行之前的工作(初始化記錄結果;從參數列表中獲取對應變)
???? * @param arg0
???? */
??? @Override
??? public void setupTest(JavaSamplerContext arg0) {
??????? results = new SampleResult();
??????? value = arg0.getParameter("value");
??????? type = arg0.getParameter("type");
??? }

??? /**
???? * 獲取默認參數以及參數值
???? * @return
???? */
??? @Override
??? public Arguments getDefaultParameters() {
??????? Arguments params = new Arguments();
??????? String value = "1234567890";
??????? params.addArgument("value", value);
??????? params.addArgument("type", "ec");
??????? return params;
??? }

??? /**
???? * 運行測試方法(初始化記錄結果,設定開始/結束記錄時間,測試調用Service的主方法,測試成功與否的判斷方法)
???? * @param arg0
???? * @return
???? */
??? public SampleResult runTest(JavaSamplerContext arg0) {
??????? results = new SampleResult();//初始化記錄結果
??????? results.sampleStart();//計時開始
??????? /*測試方法,此處寫自己的測試方法進行調用*/
??????? try {

// 下面的一行為自定義方法,可以測試自己的方法
??????????? String signature = EccService.sign(value, type);
??????????? results.sampleEnd();//計時結束
??????????? //判斷測試成功與否的方法:可根據實際進行判斷,此處為如果沒有拋出異常,則認為該次調用成功
??????????? results.setSuccessful(true);
??????????? //將結果寫入結果樹:在JMeter的監聽器-查看結果樹時即可查看返回結果
??????????? resultData = signature;
??????????? results.setResponseData("結果是:"+resultData ,null);
??????????? results.setDataType(SampleResult. TEXT);
??????????? return results;
??????? } catch (InvalidKeySpecException e) {
??????????? results.setSuccessful(false);
??????????? e.printStackTrace();
??????????? return results;
??????? } catch (IOException e) {
??????????? results.setSuccessful(false);
??????????? e.printStackTrace();
??????????? return results;
??????? } catch (CryptoException e) {
??????????? results.setSuccessful(false);
??????????? //將結果寫入結果樹:在jmeter的監聽器-查看結果樹時即可查看返回結果
??????????? resultData += false;
? ??????????results.setResponseData("結果是:"+resultData ,null);
??????????? results.setDataType(SampleResult. TEXT);
??????????? e.printStackTrace();
??????? }
??????? return results;
??? }

??? /**
???? * 獲取jmeter輸入的參數值
???? *
???? * @return
???? */
??? public void setValues(JavaSamplerContext arg0) {
??????? value = arg0.getParameter("value", value);
??????? type = arg0.getParameter("type", type);
??? }
??? @Override
??? public void teardownTest(JavaSamplerContext context) {

??? }
}

7、? 編寫好測試用例后,將工程導出為一個jar包:

Maven build或者maven package都可以

8、? 將導出的jar包,拷貝到Jmeter安裝目錄的lib/ext子目錄下

9、? 在Jmeter測試計劃主界面,點擊【瀏覽】,選擇本次Jmeter測試用例所依賴的jar包目錄(右鍵工程,選擇maven build,在goals中輸入dependency:copy-dependencie命令并執行,把所有jar包放到某個目錄下)

注:maven導出所有依賴的jar包,也可以在pom文件中添加配置

<build>

??????? <plugins>

??????????? <plugin>

??????????????? <groupId>org.apache.maven.plugins</groupId>

??????????????? <artifactId>maven-dependency-plugin</artifactId>

??????????????? <executions>

??????????????????? <execution>

??????????????????????? <id>copy</id>

??????????????????????? <phase>package</phase>

??????????????????????? <goals>

??????????????????????????? <goal>copy-dependencies</goal>

? ??????????????????????</goals>

??????????????????????? <configuration>

??????????????????????????? <outputDirectory>${project.build.directory}/lib</outputDirectory>

??????????????????????? </configuration>

??????????????????? </execution>

??????????????? </executions>

??????????? </plugin>

??????? </plugins>

??? </build>

12、??? 點擊【線程組】,在主界面中輸入【線程數】:需要多少并發量就寫多少個,其他都寫1

13、?? 再點擊【Java請求】,在主界面中,【類名稱】選擇’ com.foriseland.fas.cassandra.jmeter.TestConsumer’;并在下方輸入自定義的參數,如下如圖所示:

14、????????????? 以上這些操作完成后,保存退出,并重啟Jmeter,然后就可以對其進行壓力測試了。

轉載于:https://www.cnblogs.com/alan319/p/9111466.html

總結

以上是生活随笔為你收集整理的Jmeter测试普通java类说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。