JMeter性能測試與腳本開發(fā)實戰(zhàn)
定 價:89.8 元
讀者對象:本書適用于測試人員和開發(fā)人員
《JMeter性能測試與腳本開發(fā)實戰(zhàn)》是關(guān)于 JMeter 性能測試與腳本開發(fā)技術(shù)的實用指南,旨在通過詳盡的代碼示例和深入淺出的案例分析,幫助讀者從理論到實踐逐步掌握 JMeter 性能測試與腳本開發(fā)的技術(shù)和方法。《JMeter性能測試與腳本開發(fā)實戰(zhàn)》共11章。首先介紹 JMeter 的基礎(chǔ)知識和如何測試 HTTP;其次講述 JMeter參數(shù)化、斷言、關(guān)聯(lián)等高級技術(shù)和腳本調(diào)試技術(shù);接著討論如何構(gòu)建復(fù)雜的測試場景和擴展 JMeter 的功能,如何測試SOAP、NoSQL和WebSocket,以應(yīng)對更多的測試場景,滿足更多的需求;最后介紹 JMeter 內(nèi)置對象和JSR223元素,以及Groovy 腳本開發(fā)。《JMeter性能測試與腳本開發(fā)實戰(zhàn)》適合測試人員和開發(fā)人員閱讀,也適合作為高等院校計算機相關(guān)專業(yè)的教材。
1.全面:從基礎(chǔ)知識到高級技術(shù),涵蓋 HTTP 測試,參數(shù)化、斷言、關(guān)聯(lián)、腳本調(diào)試等技術(shù)內(nèi)容。2.實戰(zhàn):通過真實案例與項目操作,讓讀者在實踐中深化理解,即學(xué)即用。3.深入:擴展 JMeter 功能,自定義腳本,以應(yīng)對更多復(fù)雜的測試場景。4.易學(xué):清晰易懂的語言與逐步引導(dǎo)的示例,即使是初學(xué)者也能輕松掌握。
蔡治國,經(jīng)驗豐富的軟件測試工程師,擁有 10 余年的軟件測試經(jīng)驗,在 JMeter 領(lǐng)域積累了深厚的專業(yè)知識。曾參與多個大型項目的性能測試和質(zhì)量保證工作,并成功應(yīng)用JMeter 工具解決了多類測試難題。熱衷于分享自己的實踐經(jīng)驗和知識,以清晰、簡潔的描述和實用的示例,幫助讀者理解和掌握 JMeter 腳本開發(fā)的各種技巧和方法。其文章和教程廣受讀者歡迎。
第 一部分 基礎(chǔ)第 1章 JMeter基礎(chǔ) 31.1 JMeter簡介 31.2 JMeter的工作機制 41.2.1 性能測試工具的核心要素 41.2.2 JMeter的功能 51.2.3 JMeter測試流程 51.3 JMeter的安裝部署 61.3.1 JMeter環(huán)境需求 61.3.2 JMeter運行方式 71.3.3 JMeter單機部署 91.3.4 JMeter分布式部署 111.4 JMeter測試元素和JMeter GUI 131.4.1 JMeter測試元素 141.4.2 JMeter GUI 181.5 元素執(zhí)行順序與組件作用域 221.5.1 元素執(zhí)行順序 221.5.2 組件作用域 251.6 JMeter測試計劃 271.6.1 構(gòu)建測試計劃 271.6.2 執(zhí)行測試計劃 301.7 JMeter線程組 341.7.1 普通線程組 341.7.2 setUp線程組 361.7.3 tearDown線程組 361.8 JMeter常用配置元件 371.8.1 HTTP信息頭管理器 371.8.2 HTTP Cookie管理器 381.8.3 HTTP緩存管理器 391.8.4 HTTP請求默認值 401.8.5 JDBC連接配置 411.9 小結(jié) 43第 2章 測試HTTP 442.1 HTTP基礎(chǔ) 442.1.1 HTTP簡介 442.1.2 HTTP會話與連接 462.1.3 HTTP消息 482.2 HTTP請求的配置 522.2.1 基本配置 522.2.2 高級配置 542.2.3 HTTP請求參數(shù)的設(shè)置 552.3 測試HTTP GET請求 572.3.1 GET請求參數(shù)的設(shè)置 572.3.2 測試GET請求案例 582.4 測試HTTP POST請求 602.4.1 POST請求參數(shù)的設(shè)置 602.4.2 測試POST請求案例 602.5 測試RESTful風(fēng)格的請求 632.5.1 RESTful風(fēng)格的HTTP請求方法 632.5.2 測試RESTful風(fēng)格的HTTP請求案例 642.6 HTTP文件上傳與下載 652.6.1 文件上傳 652.6.2 文件下載 672.7 小結(jié) 70第二部分 進階第3章 JMeter參數(shù)化技術(shù) 733.1 參數(shù)化概述 733.1.1 數(shù)據(jù)驅(qū)動測試 733.1.2 參數(shù)化及其類型 743.1.3 參數(shù)化實現(xiàn)步驟 753.1.4 數(shù)據(jù)生成工具 753.1.5 JMeter中常用的參數(shù)化方式 773.2 用戶參數(shù)參數(shù)化與用戶自定義變量參數(shù)化 773.2.1 用戶參數(shù)參數(shù)化 773.2.2 用戶自定義變量參數(shù)化 803.3 CSV Data Set Config參數(shù)化 833.3.1 添加CSV Data Set Config 843.3.2 配置CSV Data Set Config 843.3.3 遍歷參數(shù)值 863.3.4 CSV Data Set Config參數(shù)化案例 883.4 內(nèi)置函數(shù)參數(shù)化 903.4.1 參數(shù)化相關(guān)的內(nèi)置函數(shù) 913.4.2 內(nèi)置函數(shù)參數(shù)化案例 943.5 數(shù)據(jù)庫參數(shù)化 963.5.1 JDBC Request 963.5.2 使用單線程遍歷參數(shù)值 1013.5.3 使用多線程遍歷參數(shù)值 1043.6 小結(jié) 108第4章 JMeter斷言技術(shù) 1094.1 斷言概述 1094.1.1 斷言的基本概念和作用 1094.1.2 JMeter中常用的斷言 1104.2 響應(yīng)斷言 1114.2.1 添加響應(yīng)斷言 1114.2.2 配置響應(yīng)斷言 1114.2.3 響應(yīng)斷言案例 1134.3 JSON斷言 1164.3.1 JSON與JSON Path 1164.3.2 添加JSON斷言 1184.3.3 配置JSON斷言 1184.3.4 JSON斷言案例 1194.4 大小斷言 1224.4.1 添加大小斷言 1224.4.2 配置大小斷言 1224.4.3 大小斷言案例 1234.5 持續(xù)時間斷言 1234.5.1 添加持續(xù)時間斷言 1244.5.2 配置持續(xù)時間斷言 1244.5.3 持續(xù)時間斷言案例 1254.6 小結(jié) 125第5章 JMeter關(guān)聯(lián)技術(shù) 1265.1 關(guān)聯(lián)概述 1265.1.1 關(guān)聯(lián)的基本概念和作用 1265.1.2 JMeter中常用的關(guān)聯(lián)方式 1275.2 正則表達式提取器關(guān)聯(lián) 1275.2.1 添加正則表達式提取器 1285.2.2 配置正則表達式提取器 1285.2.3 正則表達式提取器關(guān)聯(lián)案例 1325.3 JSON提取器關(guān)聯(lián) 1345.3.1 添加JSON提取器 1345.3.2 配置JSON提取器 1355.3.3 JSON提取器關(guān)聯(lián)案例 1365.4 CSS Selector提取器關(guān)聯(lián) 1365.4.1 添加CSS Selector提取器 1365.4.2 配置CSS Selector提取器 1375.4.3 CSS Selector提取器關(guān)聯(lián)案例 1385.5 跨線程組關(guān)聯(lián) 1395.5.1 JMeter屬性與變量 1395.5.2 跨線程組傳遞數(shù)據(jù)的方式 1415.5.3 跨線程組關(guān)聯(lián)案例 1425.6 小結(jié) 144第6章 JMeter腳本調(diào)試技術(shù) 1456.1 腳本調(diào)試概述 1456.2 Debug Sampler 1466.2.1 Debug Sampler簡介 1466.2.2 使用Debug Sampler調(diào)試腳本 1466.3 查看結(jié)果樹 1476.3.1 查看結(jié)果樹簡介 1476.3.2 使用查看結(jié)果樹調(diào)試腳本 1486.4 日志查看器 1526.4.1 配置日志級別與路徑 1536.4.2 在日志查看器中查看日志 1546.4.3 用戶自定義日志 1556.5 小結(jié) 156第三部分 拓展第7章 使用邏輯控制器構(gòu)建 復(fù)雜測試場景 1597.1 使用循環(huán)控制器 1597.1.1 循環(huán)控制器使用場景 1597.1.2 添加和配置循環(huán)控制器 1607.1.3 循環(huán)控制器使用案例 1607.2 使用While控制器 1627.2.1 While控制器使用場景 1627.2.2 添加和配置While控制器 1637.2.3 While控制器使用案例 1637.3 使用ForEach控制器 1697.3.1 ForEach控制器使用場景 1697.3.2 添加和配置ForEach控制器 1707.3.3 ForEach控制器使用案例 1707.4 使用If控制器 1727.4.1 If控制器使用場景 1727.4.2 添加和配置If控制器 1737.4.3 If控制器使用案例 1747.5 使用事務(wù)控制器 1767.5.1 事務(wù)控制器使用場景 1767.5.2 添加和配置事務(wù)控制器 1777.5.3 事務(wù)控制器使用案例 1787.6 使用吞吐量控制器 1797.6.1 吞吐量控制器使用場景 1797.6.2 添加和配置吞吐量控制器 1797.6.3 吞吐量控制器使用案例 1807.7 小結(jié) 182第8章 JMeter擴展 1838.1 JMeter插件管理器 1838.1.1 JMeter插件管理器安裝 1838.1.2 JMeter插件管理器使用 1838.2 擴展線程組插件 1858.2.1 Concurrency Thread Group插件 1858.2.2 Ultimate Thread Group插件 1878.2.3 Inter-Thread Communication插件 1898.3 引用外部Java程序 1928.3.1 在測試計劃中配置 1938.3.2 在JMeter特定目錄中放置JAR文件 1938.3.3 在指定目錄中放置JAR文件 1938.3.4 動態(tài)加載JAR文件 1948.4 小結(jié) 195第9章 使用JMeter測試SOAP、 NoSQL和WebSocket 1969.1 使用JMeter測試SOAP 1969.1.1 SOAP簡介 1969.1.2 SOAP消息格式 1979.1.3 SOAP 1.1與SOAP 1.2的區(qū)別 1979.1.4 SOAP測試案例 1989.2 使用JMeter測試NoSQL 2009.2.1 NoSQL簡介 2009.2.2 測試Redis 2019.3 使用JMeter測試WebSocket 2039.3.1 WebSocket簡介 2039.3.2 WebSocket握手 2059.3.3 WebSocket幀結(jié)構(gòu) 2079.3.4 WebSocket心跳機制 2089.3.5 WebSocket安裝配置 2099.3.6 WebSocket測試案例 2119.4 小結(jié) 212第四部分 深入第 10章 JMeter內(nèi)置對象 21510.1 JSR223簡介 21510.2 JMeter內(nèi)置對象概述 21610.3 ctx對象 21710.3.1 JMeter上下文與ctx對象 21710.3.2 訪問當(dāng)前請求信息 21810.3.3 獲取前一個取樣器的響應(yīng)信息 21910.3.4 獲取前一個取樣器的信息 21910.3.5 獲取變量與屬性 22010.3.6 獲取線程(組)的相關(guān)信息 22110.4 vars對象 22210.4.1 vars對象簡介 22210.4.2 操作變量 22210.4.3 訪問線程信息 22410.5 props對象 22410.5.1 props對象簡介 22410.5.2 操作屬性 22510.5.3 獲取屬性信息 22610.5.4 其他方法 22810.6 AssertionResult對象 22810.6.1 AssertionResult對象簡介 22810.6.2 獲取斷言信息 22810.6.3 設(shè)置斷言結(jié)果 22910.7 sampler對象 23010.7.1 sampler對象簡介 23010.7.2 獲取請求基本信息 23010.7.3 設(shè)置請求基本信息 23210.7.4 請求頭管理 23310.7.5 請求參數(shù)管理 23510.7.6 文件上傳參數(shù)管理 23810.8 prev對象 24110.8.1 prev對象簡介 24110.8.2 獲取響應(yīng)信息 24110.8.3 獲取請求信息 24310.8.4 設(shè)置響應(yīng)信息 24410.8.5 其他方法 24610.9 log對象 24610.9.1 log對象簡介 24610.9.2 日志記錄 24610.9.3 其他方法 24810.10 其他內(nèi)置對象 24810.11 小結(jié) 249第 11章 JSR223元素與 Groovy腳本開發(fā) 25011.1 JSR223元素與Groovy編程 25011.1.1 添加和配置JSR223元素 25111.1.2 為什么選擇Groovy 25211.2 JSR223 PreProcessor 25211.2.1 JSR223 PreProcessor的應(yīng)用場景 25211.2.2 JSR223 PreProcessor的應(yīng)用案例 25311.3 JSR223 Timer 26411.3.1 JSR223 Timer的應(yīng)用場景 26411.3.2 JSR223 Timer的應(yīng)用案例 26411.4 JSR223 Sampler 26711.4.1 JSR223 Sampler的應(yīng)用場景 26711.4.2 JSR223 Sampler的應(yīng)用案例 26711.5 JSR223 PostProcessor 27411.5.1 JSR223 PostProcessor的應(yīng)用場景 27411.5.2 JSR223 PostProcessor的應(yīng)用案例 27411.6 JSR223 Assertion 28111.6.1 JSR223 Assertion的應(yīng)用場景 28111.6.2 JSR223 Assertion的應(yīng)用案例 28111.7 JSR223 Listener 29211.7.1 JSR223 Listener的應(yīng)用場景 29211.7.2 JSR223 Listener的應(yīng)用案例 29311.8 小結(jié) 296附錄A MDClub系統(tǒng)部署說明 297