① 如何使用jmeter做一個簡單的測試
1.雙擊bin目錄下的jmeter.bat,打開jmeter,右擊測試計劃,添加–Threads(Users)—線程組。
2.添加http請求。
3.添加聚合報告。
4.點擊運行後,查看聚合報告。
此介面是 獲取操作碼的一個介面,每用戶有操作時間間隔的限制,所以這個例子,用戶數就寫1。
要測試這個介面的並發性能,就需要多個用戶。那就需要 參數化uid,下篇文章記錄 使用csv data set config 進行參數化。
目前的思路是 把表中的uid欄位值導出到文件,再用jmeter使用此文件。
② 請問Jmeter進行介面功能測試操作步驟是怎樣的
操作步驟:
1、指定介面功能測試相關測試計劃
2、從 API 文檔提取介面清單
3、編寫測試用例並設計測試數據
4、編寫測試腳本並導入測試數據
5、執行腳本並逐條比對每條測試數據的實際結果與預期結果是否一致
各步驟主要實現:
1、指定介面功能測試相關測試計劃
對程序不同模塊進行任務劃分,一般包括: 模塊以及相關描述,指定該模塊主要責任人,工期,預期產出以及當前進度等
2、從 API 文檔提取介面清單
API 文檔對各個介面實現具有完整且詳細的流程說明,以及舉例,但是對於我們測試而言,內容相對冗餘,測試前期,一般會對API文檔的各個介面,進行簡化,壓縮,提取介面測試時必須數據,以提高介面測試效率,其中簡化壓縮的結果就是介面清單
3、編寫測試用例並設計測試數據
功能測試時,模擬用戶的多樣性操作設計測試數據是核心實現之一,該過程大致通過兩步驟實現:
步驟1: 設計測試用例,該過程是抽象的非具體的實現,是要聲明預期使用那些類型的測試數據,而不設計具體數據,設計測試用例時原則主要有如下幾點:
a)、覆蓋所有必選參數
b)、組合可選參數
c)、設計邊界值數據
d)、設計超出范圍的數據
e)、覆蓋所有枚舉值
f)、設計錯誤數據
g)、設計特殊符號數據
.....
另外,設計時需要在測試用例中聲明該介面訪問的 URL,請求方式以及預期結果等
步驟2: 根據測試用例聲明的數據類型,設計具體的測試數據,此過程為具體非抽象的實現,最終設計的數據一般會被保存在csv文件中
4、編寫測試腳本並導入測試數據
功能測試時,需要針對同一功能腳本提交多條不同的測試數據,此實現中,一般使用 CSV Data Set Config 來讀取批量數據,動態的參數化的獲取並設置測試數據,可以提高測試效率
5、執行腳本並逐條比對每條測試數據的實際結果與預期結果是否一致
步驟4批量操作完畢,要將提交的每條測試數據的執行結果與測試用例中對應的執行結果,相比對,如果預期與實際結果一致,一般無 BUG,不一致時,則可能有 BUG,當然對具體實現有疑議,可以寫入備注
以上內容均來自傳智播客論壇,還有相關配套視頻課程。找不到就官網對話框領取。
③ 怎麼jmeter對app做介面測試
用fidder抓取app的介面
然後在jmeter:
創建線程組
添加http請求
添加查看結果樹
(在http請求中填寫關系fidder抓到的介面信息)
就這樣就可以了
④ jmeter可以做app測試嗎
可以,但是jmeter錄制的腳本有些凌亂,首先讓電腦和手機處於同一個區域網中,然後需要在jmeter上設置代理伺服器,然後連接起來相應的埠和地址要相同,啟動代理伺服器後點擊手機上的相應軟體就會錄制app的腳本了,只不過非常凌亂,不好判斷,要是能藉助badboy將手機app上的腳本錄制到badboy上就好了,但是目前我還沒有找到方法。
⑤ 手機上的app性能測試怎麼測
您好,方法
提到APP的性能測試這個概念比較籠統,因為APP的性能測試分為伺服器端的性能和手機端的性能測試。下面,我們先從伺服器端的性能測試開始說起,伺服器端的性能測試可以通過LoadRunner或Jmeter工具進行測試,為方便起見,可以以Jmeter工具為例子說一下App伺服器端的性能測試流程。
首先,確定app的性能測試功能點,一般會選擇使用比較頻繁的功能做性能測試比如查詢,提交數據。
然後,根據該功能點的介面測試需求,或使用fiddler抓包,在jmeter上構造向伺服器發送的請求數據,配置好相關的設置,並做好伺服器的監控。(以我們實際項目為基準,本項目是搭建在linux上的,用的是nmon工具做監控),
最後運行測試,測試完之後,收集CPU,內存等信息,集合聚合報告的內容,分析性能測試結果。
至於手機端的性能測試流程則比較簡單,首先需要在伺服器上提前安裝監控工具(iTest/GT),接著啟動監控工具,監控被測應用.
接著需要清空先前的logcat日誌記錄,清空日誌的命令是:adb logcat -c.
接著來獲取logcat日誌:adb logcat -v time > E:\share\logcat.log.
如何做App的性能測試
再接著使用monkey運行被測應用:
adb shell monkey -p your.package.name -v 500 > E:\share\monkey.log
(獲取app的包名和activity名稱:
adb logcat -v time | findstr START
腳本中,cmp= 後面的值就是 包名)
(ctrl+c 終止命令)
最後根據監控圖,檢查CPU,內存,流量,電量是否符合性能指標。如果不符合,就把不符合指標的報表和對應的logcat發給開發進行定位。
⑥ 怎麼用jmeter對web進行測試
1.打開java編譯器,新建一個項目"TestLength",然後新建一個包"app".
2.從Jmeter的安裝目錄lib/ext中拷貝兩個文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的項目中,然後引入這兩個JAR文件.(具體的引入方法參考各個Java編譯器的使用方法)
3.在"app"包中新建一個類,名字叫"TestLength",不過這個類要繼承"AbstractJavaSamplerClient"類,如果項目引入步驟二中的兩個文件,就可以找到"AbstractJavaSamplerClient"類了.
4."TestLength"類在繼承"AbstractJavaSamplerClient"類的同時也會繼承四個方法,分別是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用於設置傳入的參數;"setupTest"方法為初始化方法,用於初始化性能測試時的每個線程."runTest"方法為性能測試時的線程運行體;"teardownTest"方法為測試結束方法,用於結束性能測試中的每個線程.
5.具體實現代碼如下:
package app;
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.passpod.core.t8.*;
/**
* @author樂以忘憂
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class TestLength extends AbstractJavaSamplerClient{
private SampleResult results;
private String testStr;
//初始化方法,實際運行時每個線程僅執行一次,在測試方法運行前執行,類似於LoadRunner中的init方法
public void setupTest(JavaSamplerContext arg0) {
results = new SampleResult();
testStr = arg0.getParameter("testString", "");
if (testStr != null && testStr.length() > 0) {
results.setSamplerData(testStr);
}
}
//設置傳入的參數,可以設置多個,已設置的參數會顯示到Jmeter的參數列表中
public Arguments getDefaultParameters() {
Arguments params = new Arguments();
params.addArgument("testStr", ""); //定義一個參數,顯示到Jmeter的參數列表中,第一個參數為參數默認的顯示名稱,第二個參數為默認值
return params;
}
//測試執行的循環體,根據線程數和循環次數的不同可執行多次,類似於LoadRunner中的Action方法
public SampleResult runTest(JavaSamplerContext arg0) {
int len = 0;
results.sampleStart(); //定義一個事務,表示這是事務的起始點,類似於LoadRunner的lr.start_transaction
len = testStr.length();
results.sampleEnd(); //定義一個事務,表示這是事務的結束點,類似於LoadRunner的lr.end_transaction
if(len < 5){
System.out.println(testStr);
results.setSuccessful(false); //用於設置運行結果的成功或失敗,如果是"false"則表示結果失敗,否則則表示成功
}else
results.setSuccessful(true);
return results;
}
//結束方法,實際運行時每個線程僅執行一次,在測試方法運行結束後執行,類似於LoadRunner中的end方法
public void teardownTest(JavaSamplerContext arg0) {
}
}
⑦ 如何用jmeter測試本機上的軟體
1.打開Java編譯器,新建一個項目"TestLength",然後新建一個包"app".2.從Jmeter的安裝目錄lib/ext中拷貝兩個文件"ApacheJMeter_core.jar"和"ApacheJMeter_java.jar"到"Tester"的項目中,然後引入這兩個JAR文件.(具體的引入方法參考各個Java編譯器的使用方法)3.在"app"包中新建一個類,名字叫"TestLength",不過這個類要繼承"AbstractJavaSamplerClient"類,如果項目引入步驟二中的兩個文件,就可以找到"AbstractJavaSamplerClient"類了.4."TestLength"類在繼承"AbstractJavaSamplerClient"類的同時也會繼承四個方法,分別是"getDefaultParameters","setupTest","runTest"和"teardownTest"方法."getDefaultParameters"方法主要用於設置傳入的參數;"setupTest"方法為初始化方法,用於初始化性能測試時的每個線程."runTest"方法為性能測試時的線程運行體;"teardownTest"方法為測試結束方法,用於結束性能測試中的每個線程.5.具體實現代碼如下:packageapp;importorg.apache.jmeter.config.Arguments;importorg.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;importorg.apache.jmeter.protocol.java.sampler.JavaSamplerContext;importorg.apache.jmeter.samplers.SampleResult;importcom.passpod.core.t8.*;/***@author樂以忘憂***Window-Preferences-Java-CodeStyle-CodeTemplates*/{privateSampleResultresults;privateStringtestStr;//初始化方法,實際運行時每個線程僅執行一次,在測試方法運行前執行,類似於LoadRunner中的init方法publicvoidsetupTest(JavaSamplerContextarg0){results=newSampleResult();testStr=arg0.getParameter("testString","");if(testStr!=null&&testStr.length()>0){results.setSamplerData(testStr);}}//設置傳入的參數,可以設置多個,已設置的參數會顯示到Jmeter的參數列表中(){Argumentsparams=newArguments();params.addArgument("testStr","");//定義一個參數,顯示到Jmeter的參數列表中,第一個參數為參數默認的顯示名稱,第二個參數為默認值returnparams;}//測試執行的循環體,根據線程數和循環次數的不同可執行多次,類似於LoadRunner中的Action方法publicSampleResultrunTest(JavaSamplerContextarg0){intlen=0;results.sampleStart();//定義一個事務,表示這是事務的起始點,類似於LoadRunner的lr.start_transactionlen=testStr.length();results.sampleEnd();//定義一個事務,表示這是事務的結束點,類似於LoadRunner的lr.end_transactionif(len<5){System.out.println(testStr);results.setSuccessful(false);//用於設置運行結果的成功或失敗,如果是"false"則表示結果失敗,否則則表示成功}elseresults.setSuccessful(true);returnresults;}//結束方法,實際運行時每個線程僅執行一次,在測試方法運行結束後執行,類似於LoadRunner中的end方法publicvoidteardownTest(JavaSamplerContextarg0){}}6.把上面的例子打包,然後把生成的"TestLength.jar"文件拷貝到Jmeter的安裝目錄lib/ext下.7.運行Jmeter,添加一個線程組,然後在該線程組下面添加一個Java請求(在Sampler中),在Java請求的類名稱中選擇咱們剛創建的類"app.TestLength",在下面參數列表的"testStr"後面輸入要測試的字元串,然後添加一個監聽器(聚合報告),設置一下模擬的用戶數就可以測試了.如果測試不成功,Jmeter會在它自己個輸出框中拋出這個字元串.通過上面的例子我們可以發現,使用Jmeter自定義Java測試代碼,配合Jmeter自帶的函數,就可以實現出LoadRunner中"JavaVuser"協議的絕大多數功能,而且是沒有用戶數限制和完全免費的(嘿嘿).上面的例子非常簡單,而且沒有任何實際意義,只是一個簡單的Jmeter測試代碼示例,用於拋磚引玉,希望大家一起交流,共同進步.
⑧ jmeter怎麼測試app介面
你要先確認你要測的具體介面(找開發要被測介面的相關文檔信息);
打開jmeter添加線程組,並設置好線程數、時間、還有循環次數;
添加http請求並填寫好介面信息以及是否需要附帶發送參數,這個就根據被測介面來定了;
添加結果樹或者Aggregate Graph;
保存腳本後再點擊運行按鈕;
查看結果;
⑨ jmeter能測試app的哪些方面
Jmeter主要是用來做性能測試的,一般是用來測服務端的程序,app測試的話,屬於功能性測試,可以用安卓或者IOS客戶端測試工具測試
⑩ APP怎麼利用JMeter進行壓力測試
jmeter主要是對伺服器進行壓力測試,和app相結合,其實是抓取app的介面,再利用線程組向伺服器加壓從而實現壓力測試,這里有個jmeter的教程可以看下
https://ke.qq.com/course/133578#tuin=c48ffa9f