接口信息說明:
用戶管理模塊
登錄接口
api:post
method:post
request data:
{
"loginName":"IDO",
"passwd":"123"http://base編碼
}
退出接口:
api:get
method:get
添加用戶接口:
api:post
method:post
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"login_name":"IDO",
"phone":"13100000000",
"real_name":"老徐",
"token":""
}
編輯用戶接口
api:put
method:put
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"login_name":"IDO",
"phone":"13100000000",
"real_name":"老徐",
"token":""
}
博文管理模塊:
添加博文接口:
api:post
method:post
headers:{
"Content-Type":"application/json",
"token":""
}
request data:
{
"blog_name":"21天打卡",
"bolg_title":"Jmeter打卡之Day16",
"blog_details":"21天打卡",
"token":""
}
1. 傳遞變量說明
1.1 傳參方式
現(xiàn)在大家在用自己公司的接口做操作的時候需要傳遞token,很不方便,所以把傳遞token的打卡提到前面,可能有點難度,慢慢來,有問題留言或者到星球提問,需要用到beanshell解釋器
1.1.1 內(nèi)置變量
//同線程組
vars :操作 jmeter 變量,它是測試用例與 BeanShell 交互的橋梁,常用方法:
vars.get(String key):從jmeter 中獲得變量值
vars.put(String key,String value):數(shù)據(jù)存到 jmeter 變量
//跨線程組
props :操作 jmeter 屬性,該變量引用了 JMeter 的配置信息,可以獲取Jmeter
的屬性,它的使用方法與 vars 類似,但是只能 put 進去 String 類型的值,而不能是一個對象。
props.get("START.HMS");START.HMS 為屬性名,在jmeter.properties 中定義
props.put("PROP1","1234");
1.1.2 函數(shù)助手
聲明全局變量:
${__setProperty(newtoken,${token},)}
引用全局變量
${__P(newtoken,)}
1.2 傳參形式
1.2.1 同線程組
//示例1.beanshell語句
String str =vars.get("loginName");//獲取變量loginName
vars.put("key",str);//拋出做線程組內(nèi)變量
//其他
默認(rèn)的變量都在本線程組下使用
1.2.2 跨線程組
//示例1.beanshell語句
String str =vars.get("token");
props.put("newToken",str);
//示例2.函數(shù)助手
${__setProperty(newtoken,${token},)}
//跨線程組引用變量的方式
${__P(newtoken,)}//只需要變量名就可以
2.練習(xí)說明
- httpbin.org不提供登錄/退出機制,目前我們用上述的模擬登錄接口.
- token就使用loginName這個字段來模擬,大家在自己公司使用拿正常的token
-
傳遞參數(shù)需要先生成參數(shù),像token這些的,需要后置處理器中的一個組件
JSON提取器
3.作業(yè)場景
- 根據(jù)上面提供的接口信息進行模擬測試,其中,需要將登陸之后的token傳到信息頭部和其他線程組的參數(shù)當(dāng)中。
4.示例腳本
4.1 圖片示例

拋出全局變量

引用全局變量

響應(yīng)頭部

請求數(shù)據(jù)
4.2 腳本示例
鏈接:https://pan.baidu.com/s/1u48r1FErTmujQ4fAf2LTQg
提取碼:ltqj
