1. 程式人生 > >學了Java才搞懂JMeter測試計劃

學了Java才搞懂JMeter測試計劃

本文的內容是對這個介面的東西進行講解: ![image-20201103171931579](https://img2020.cnblogs.com/blog/1629545/202011/1629545-20201107115007598-1930915553.png) # Name 名字,測試計劃總得有個名字。 # Comments 註釋,除了名字,還得讓人知道它是幹嘛的。 # User Defined Variables 測試計劃是根節點。根節點意味著作用域是全域性。 **測試計劃的使用者自定義變數,就是用來設定全域性變數的**。 介面上,展示了一個表格,共兩列,第一列是 Name,第二列是 Value,分別對應變數名和變數值。 表格下方是一排按鈕,對錶格進行增刪改查和上下移動。 定義好了變數後,通過 `${}` 的格式來使用。比如定義了變數 a 值為 1,通過 ${a} 來使用。 **使用者自定義變數,實際上定義的是常量**。Value 是字串,不能改變的。比如剛才定義了變數 a,再定義變數 b 值為 ${a} + 1,b 的實際值就是 "${a} + 1",不會運算後變為 2。 # Run Thread Groups consecutively 在測試計劃下,可以新增多個執行緒組,像這樣: ![image-20201104110619688](https://img2020.cnblogs.com/blog/1629545/202011/1629545-20201107115008024-1643247623.png) 這些執行緒組是順序執行還是並行執行呢?這是由測試計劃控制的。 如果勾選了這個選項,就是順序執行,前一個執行緒組執行完以後,再執行下一個執行緒組。 如果不勾選,就是並行執行。並行執行沒有先後順序,結果是隨機的。 # Run tearDown Thread Groups after shutdown of main threads 在新增執行緒組時,還有另外 2 種執行緒組: ![image-20201105135928151](https://img2020.cnblogs.com/blog/1629545/202011/1629545-20201107115008267-442575967.png) setUP 執行緒組用於測試前初始化,tearDown 執行緒組用於測試後清理。 預設這個選項是勾選上的,會執行 tearDown 執行緒組。不勾選則不執行。 # Funtional Test Mode 沒什麼用,不講也罷。 # Add directory or jar to classpath 在最下面,可以新增 jar 包 或 jar 包所在目錄到 classpath。 什麼是 classpath?什麼是 jar 包? 為此,我專門找了廖雪峰的 Java 教程 [classpath和jar](https://www.liaoxuefeng.com/wiki/1252599548343744/1260466914339296) 來看。 簡單解釋一下,Java 原始檔是 .java 檔案,編譯後是 .class 檔案。JVM 是 Java 的執行器,只能執行 .class 檔案。為了讓 JVM 找到那個想要的 .class 檔案,需要把 .class 檔案路徑新增到 **classpath** 中。為了方便管理,會把多個 .class 檔案打成一個包,變成一個檔案,也就是 .jar 檔案,叫做 **jar** 包。 JMeter 是用 Java 寫成的工具,可以新增 jar 包來擴充套件功能。 一個入口是**測試計劃**,畢竟是全域性根節點,很適合。另外一個入口是可以把擴充套件包,直接放到安裝目錄的 **lib/ext** 目錄下。推薦後者。 # 簡要回顧 本文對 JMeter 測試計劃的編輯區進行了講解。測試計劃是唯一根節點,適合進行全域性配置,比如全域性變數,控制執行緒組執行方式,引入 ja