網站首頁 編程語言 正文
業務背景
- 觸發測試用例,大約需要執行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
相關推薦
- 2023-03-22 Python中數值比較的效率_python
- 2022-08-27 .net+FusionChart實現動態顯示的柱狀圖和餅狀圖_實用技巧
- 2022-07-15 Android?Camera開發實現可復用的相機組件_Android
- 2022-07-13 Golang實現常見排序算法的示例代碼_Golang
- 2022-04-17 合并兩個遞增有序的單鏈表,使合并后仍遞增有序
- 2022-10-02 Android?Flutter實現搜索的三種方式詳解_Android
- 2022-08-11 C++通過boost.date_time進行時間運算_C 語言
- 2022-06-10 FreeRTOS進階系統節拍時鐘示例的完全解析_操作系統
- 最近更新
-
- 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同步修改后的遠程分支