做網(wǎng)站建設(shè)銷售員準(zhǔn)備什么企業(yè)培訓(xùn)課程設(shè)置
1.Jmeter的安裝以及環(huán)境變量的配置
Jmeter是基于java語(yǔ)法開發(fā)的接口測(cè)試以及性能測(cè)試的工具。
jdk:17 (最新的Jeknins,只能支持到17)
jmeter:5.6 官網(wǎng):http://jmeter.apache.org/download_jmeter.cgi
認(rèn)識(shí)JMeter的目錄:
backups目錄:備份腳本
bin目錄:模板,主jar包,啟動(dòng)文件,jmeter.propties全局配置文件。jmeter-server.bat分布式壓
測(cè)。
修改全局配置文件:
language=zh_CN 設(shè)置為中文
sampleresult.default.encoding=utf-8
extras目錄:存放和集成第三方的一些文件。
lib目錄:jar包
2.使用Jmeter執(zhí)行接口測(cè)試
1.測(cè)試計(jì)劃
在一個(gè)測(cè)試計(jì)劃中可能存在多個(gè)線程組
線程組之間在執(zhí)行時(shí)是沒有順序的。如果希望線程按順序執(zhí)行,則需要勾上【獨(dú)立運(yùn)行每個(gè)線程組】
2.Jmeter的組件作用域
組件可以作用于父組件
組件可以作用于同級(jí)組件
組件可以作用于同級(jí)組件的子組件
3.線程組和測(cè)試片段
測(cè)試片段就是一個(gè)特殊的線程組
線程組
線程組適用于自己調(diào)試或者單個(gè)測(cè)試人員去調(diào)試
在線程組中也可以創(chuàng)建模塊控制器去執(zhí)行測(cè)試片段
測(cè)試片段和include處理器
測(cè)試片段是特殊的線程組,和線程組同級(jí)別。用于多個(gè)測(cè)試之間協(xié)同做接口測(cè)試。主要是和模塊控
制以及Include控制結(jié)合使用。
特點(diǎn):
1.默認(rèn)是禁用狀態(tài)。
2.單個(gè)測(cè)試片段無(wú)法執(zhí)行,需要結(jié)合模塊控制器(自己調(diào)試)以及Include控制器(leader)執(zhí)行。
使用include控制器去執(zhí)行該測(cè)試片段(注意:要添加對(duì)應(yīng)的測(cè)試片段存放路徑)
4.測(cè)試單個(gè)接口
接口信息(事例)
添加配置原件
HTTP請(qǐng)求默認(rèn)值
協(xié)議: 根據(jù)url
服務(wù)器名稱或IP: 跟在協(xié)議后面的第一段字符串
端口號(hào): http--80,https--443
HTTP Cookie管理器
用于傳入cookie
用戶定義的變量
相當(dāng)于全局變量
填寫接口信息
新建一個(gè)http請(qǐng)求,然后填入相關(guān)信息
web服務(wù)器: 同HTTP請(qǐng)求默認(rèn)值, 如果信息與默認(rèn)值相同則不用填, 如果不同則填
HTTP請(qǐng)求: GET,POST,PUT....(根據(jù)接口信息填)
路徑: url中ip地址后面的字符串
查看接口執(zhí)行結(jié)果
添加一個(gè)查看結(jié)果樹
執(zhí)行后進(jìn)去查看對(duì)應(yīng)接口的執(zhí)行結(jié)果,查看響應(yīng)信息是否符合期望
5.接口關(guān)聯(lián)(多個(gè)接口)
什么是接口關(guān)聯(lián)
當(dāng)一個(gè)接口(接口1)的響應(yīng)結(jié)果為另一個(gè)接口(接口2)的傳參時(shí), 需要先執(zhí)行接口1,并通過提取器獲取對(duì)應(yīng)的結(jié)果數(shù)據(jù), 然后將結(jié)果數(shù)據(jù)再放入接口2的對(duì)應(yīng)位置
常用提取器
正則表達(dá)式提取器
引用名稱相當(dāng)于變量名, 可使用 ${引用名稱} 來使用該變量
正則表達(dá)式可以提前在查看結(jié)果樹中測(cè)試是否可以獲取得到
語(yǔ)法: 使用字典的形式填寫,在value部分填入 (.*?) 即可(記得加引號(hào))
如果要獲取多個(gè)值,可以在木板部分加入多個(gè) $*$ 的結(jié)構(gòu) 一個(gè) $*$ 代表接收一個(gè)對(duì)應(yīng)位置的值
邊界提取器
語(yǔ)法: 和正則比較相似
左邊界為:??"key":"
右邊界為:? "
JSONpath提取器
Json語(yǔ)法:
(1) $ 根節(jié)點(diǎn)
(2).或[] 去子節(jié)點(diǎn)
(3)如果是數(shù)組(llist),則通過下標(biāo)取值
(4)相對(duì)路徑用法:$..name 這里的name一般需要唯一。
(5)列表切片:$.tags[0:3]
總結(jié):看到字典則用.看到列表則用[0]下標(biāo),下標(biāo)從0開始。
Xpath提取器
同web自動(dòng)化里面的定位方式,一般用于返回html網(wǎng)頁(yè)時(shí)。
關(guān)聯(lián)事例
在上一個(gè)接口中我使用正則表達(dá)式提取機(jī)中的引用名稱為token,所以該接口的路徑如下填寫:
6.動(dòng)態(tài)參數(shù)接口測(cè)試
工具--》函數(shù)助手對(duì)話框。
1.隨機(jī)數(shù)字函數(shù)(在給定數(shù)字范圍隨機(jī)一個(gè)整數(shù))
2.隨機(jī)字符串函數(shù)(根據(jù)傳入的內(nèi)容字符串和長(zhǎng)度,隨機(jī)出一個(gè)新的字符串)
3.隨機(jī)時(shí)間戳函數(shù)(根據(jù)當(dāng)前時(shí)間生成時(shí)間戳)
4.其他函數(shù)(大寫)(使用JavaScript函數(shù))
在字符串(帶變量的字符串也可以)后面加上 .toUppCase()?
3.接口測(cè)試常規(guī)斷言和數(shù)據(jù)庫(kù)斷言
常規(guī)斷言
斷言作用在接口用例中
1.響應(yīng)斷言
2.json斷言
3.beanshell斷言
主要通過Failure標(biāo)識(shí)是否失敗和FailureMessage標(biāo)識(shí)失敗信息。
Failure=true 失敗,Failure=false 成功。