準(zhǔn)備測(cè)試環(huán)境
當(dāng)精心編寫(xiě)好測(cè)試腳本滿懷信心的去運(yùn)行測(cè)試計(jì)劃時(shí),發(fā)現(xiàn)所有的測(cè)試腳本都 failed 掉了,原因可能是你的測(cè)試環(huán)境中并沒(méi)有完全準(zhǔn)備好。下面給出了準(zhǔn)備測(cè)試環(huán)境的詳細(xì)步驟:
1.環(huán)境變量設(shè)置:JMeter 運(yùn)行在 JRE/JDK 之上,在所有開(kāi)始之前要設(shè)置 JMeter 自動(dòng)檢測(cè)的環(huán)境變量 JAVA_HOME=#JAVA INSTALL DIRECTORY#.
2.JMeter 安裝:本文下面下載欄提供了 Apache JMeter 下載地址,首先要取得新版本的 JMeter 測(cè)試工具,JMeter 新版本包含了構(gòu)建和運(yùn)行絕大部分測(cè)試類(lèi)型的文件,包括 Web (HTTP/HTTPS), FTP, JDBC, LDAP, Java, 和 JUnit 等。
3.準(zhǔn)備 jar 包:JMeter 雖然提供了對(duì) SOAP Over HTTP 以及 SOAP Over JMS 測(cè)試的 Sampler,但是出于對(duì) licence 的考慮它本身并沒(méi)有提供 JMS 需要使用的 jar 包。因此,在運(yùn)行測(cè)試之前需要將這些包復(fù)制到 JMeter 的 lib 目錄下,下面列表對(duì)測(cè)試所需 jar 包作了詳細(xì)說(shuō)明。
4.BeanShell 腳本處理:如果在測(cè)試用例中用到了 BeanShell 腳本,則需要將 BeanShell 包拷貝到 JMeter bin 目錄下。BeanShell 是一種兼容 Java 語(yǔ)言的輕量級(jí)腳本語(yǔ)言,JMeter 腳本中可能會(huì)經(jīng)常用它來(lái)做日志處理,正則表達(dá)式后處理(Post- Process)等。如果在測(cè)試用例中用到了 Mail Visualiser, Mail Reader 以及 Web Services (SOAP) sampler,則需要將 MAIL 包拷貝到 JMeter bin 目錄下。如果在測(cè)試用例中用到了 JMS 相關(guān)的 sampler,則需要將 JMS 包拷貝到 JMeter bin 目錄下。
下面的列表列出了不同的測(cè)試用例所需要的 jar 包,以及其下載地址:
bsh-2.0b4.jarhttp://www.beanshell.org/
mail.jar http://java.sun.com/products/javamail/index.jsp
jms.jarhttp://java.sun.com/products/jms/docs.html
調(diào)試腳本中非常有用的信息日志:jmeter.log 在腳本的調(diào)試和運(yùn)行過(guò)程中,所以的日志信息都會(huì)記錄在 jmeter.log 中,因此你會(huì)在這個(gè)文件中找到比較有用的信息。
注意事項(xiàng)
如果 JMeter 在執(zhí)行測(cè)試腳本過(guò)程中應(yīng)該修改 jmeter.bat 文件中的一些參數(shù),參數(shù)大小可以根據(jù)測(cè)試計(jì)劃合理確定:
HEAP=-Xms256m – Xmx1024m
NEW=-XX:NewSize=128m -XX:MaxNewSize=128m
TENURING=-XX:MaxTenuringThreshold=2
EVACUATION=-XX:MaxLiveObjectEvacuationRatio=20%
PERM=-XX:PermSize=64m -XX:MaxPermSize=64m
DEBUG=-verbose:gc -XX:+PrintTenuringDistribution
此外,在搭建測(cè)試環(huán)境時(shí)還需要更多注意的地方:
JMeter 使用兼容 JKD1.4 或者更高版本
JMeter 無(wú)法識(shí)別 zip 格式的包文件,所以需要的包文件均要求以 .jar 結(jié)尾
JMeter 會(huì)自動(dòng)在 JMETER_HOME/lib 和 ext 目錄下尋找需要的類(lèi)
對(duì)于使用 CSVDataSet, 那么不要勾選 "Memory Cache"否則數(shù)據(jù)無(wú)法迭代
使用 JMeter 連接 SOAP Over HTTP 服務(wù)
JMeter 提供了 Web Service (SOAP) sampler,用以調(diào)用基于 HTTP 的 Web 服務(wù)。下面詳細(xì)說(shuō)明 SOAP Over HTTP 服務(wù)調(diào)用的各個(gè)屬性。
圖 2.SOAP Over HTTP 服務(wù)調(diào)用的各個(gè)屬性