問題
運行JMeter測試腳本的時候發(fā)現(xiàn)一個問題竿开,在UI方式下運行該JMeter腳本烁设,卻發(fā)現(xiàn)“Could not find the TestPlan class!”錯誤和橙。
bin/jmeter.sh -n -t ~/Downloads/tc_case.jmx
如果使用UI方式下打開該腳本删窒,點擊運行按鈕的話會莫名其妙地彈出下面的對話框砸彬,可是明明沒有改過測試腳本啊颠毙。
原因
仔細對比與能夠正常測試的腳本,發(fā)現(xiàn)該腳本缺少下列對于運行JMeter測試所必需的“TestPlanGui”元素砂碉。那問題來了蛀蜜,為什么會導(dǎo)致缺少這部分內(nèi)容呢?
經(jīng)過分析增蹭,原來是在保存測試用例的時候滴某,只保存了測試樹中的部分元素。如下所示是典型導(dǎo)致出現(xiàn)這種情況的兩種操作:
操作1:
1.1)選中某節(jié)點
1.2)點擊菜單“文件” > “保存為”
操作2:
2.1)選中某節(jié)點,右擊出現(xiàn)菜單
2.2)點擊“另存為”霎奢,如下圖所示
這兩種情況下户誓,生成的測試腳本只是“線程組”下面的元素,而這種方式下保存的測試用例幕侠,不包括需要運行測試所需的“TestPlan”元素帝美。
實際上這里的翻譯有點問題,該菜單在英語版本里是“Save Selection As”橙依,意思是保存“選中的元素”证舟,但是漢化之后丟失了該信息。
解決方法
知道原因后窗骑,就很好解決這個問題了:在保存測試用例的時候女责,不要只保存某子元素,而是保存整個測試計劃创译。直接點擊工具欄上的“保存測試計劃”按鈕抵知;或者在文件菜單中單擊“保存測試計劃”/“保存測試計劃為”選項。請不要選擇“保存為”软族,因為這個選項的意思還是只保存“保存選中的子元素”刷喜。
xmeter.net已經(jīng)向Apache JMeter提交了一個bug和相關(guān)的修復(fù)代碼,Apache JMeter已經(jīng)接受了該修復(fù)立砸,下個版本將此問題修復(fù)掖疮。