網站首頁 編程語言 正文
業務背景
- 觸發測試用例,大約需要執行10分鐘
- 查詢執行的commitId的測試用例的執行結果
- 如果通過了則直接停止測試用例,或beanshell 異常也要停止,否則獲取不到結果,無限執行也是沒有意義的,否則繼續循環執行(設置最大的重試次數)
延遲執行request
- 如果是1和2中間需要停止10分鐘,可以在 1和2中間新增一個request-3,并且配置timer的時長
- 定時器是在每個sampler(采樣器)之前執行的,而不是之后。不管這個定時器的位置放在sampler之后,還是之下,它都在sampler之前得到執行。
- 定時器是有作用域的;當執行一個sampler之前時,所有當前作用域內的定時器都會被執行;
- 如果希望定時器僅應用于其中一個sampler,則把該定時器作為子節點加入;
- 如果希望在sampler執行完之后再等待,則可使用取樣器里面的測試活動(Test Action);
- 更優雅的實現步驟間的停頓的方案是?Flow Control Action
提取request的返回值
樣例:
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONPath;
import java.util.List;
import org.apache.jmeter.threads.JMeterContextService;
try{
//獲取獲取請求的返回值
String response_data = prev.getResponseDataAsString();
//日志打印獲取請求的返回值
log.info("---response_data---" + response_data);
//將返回值轉換成JSON對象
JSONObject data_obj= JSON.parseObject(response_data);
log.info("------data_obj--------" + data_obj.toString());
//獲取JSON中data列表
JSONObject data_object = data_obj.getJSONObject("data");
log.info("---data_arr---" + data_object);
//獲取Province數組的長度
boolean flag=data_object.getBoolean("flag");
if(flag){
vars.put("test_flag","true");
Failure=false;//集測通過了,直接終止腳本的執行
JMeterContextService.getContext().getThread().stop();
}
log.info(vars.get("test_flag"));
}catch(Exception e){
log.info("beanshell failed",e);
JMeterContextService.getContext().getThread().stop();
}
拓展
測試計劃中的元件執行順序依次為:
配置元件(CSV Data Set Config)-前置處理器-定時器-取樣器-后置處理器-斷言-監聽器
原文鏈接:https://blog.csdn.net/lovedingd/article/details/123578734
相關推薦
- 2022-06-17 Go語言使用Request,Response處理web頁面請求_Golang
- 2022-06-30 Redis三種常用的緩存讀寫策略步驟詳解_Redis
- 2024-04-07 springboot整合redis配置
- 2023-03-11 Pandas條件篩選與組合篩選的使用_python
- 2022-08-25 基于Python編寫一個點名器的示例代碼_python
- 2022-07-03 Android實現翻頁特效_Android
- 2022-07-30 HadoopWindows下客戶端環境配置
- 2022-04-12 Oracle同步數據到kafka的方法_oracle
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支