Jmeter 場景設計

今天的業務場景是:

1.管理員登錄后臺---登錄成功后添加一個某類型的產品---產品添加成功后,再為該產品添加10個排期。

2.管理員登錄后臺--登錄成功后添加多個不同類型產品---產品全部添加完成后,依次為所有產品添加10個排期。

這是兩種不同的場景,下面是兩個場景的實現方法:

場景一:

1.登錄模塊,登錄模塊比較簡單,不做記錄

要求登錄一次之后,進行其他操作。因此登錄模塊放到了僅一次控制器中

2.增加產品

產品類型分為4中,不同類型對應不同的proTypeId。將4種不同類型的產品ID放到文本文件中。

產品名字與類型一樣,也可以使用讀取文件的方式參數化。如果對產品名稱沒有具體要求的話,直接使用隨機字符串的函數生成也是可以的。

在添加產品的請求中,用函數來一次讀取該文件中的參數(效果就是:第一次迭代添加的是A類型的產品,第二次迭代添加的是B類型的產品,依次循環類推)

該函數在使用時要注意,必須寫為:${__CSVRead(C:\Users\XXX\Desktop\producttype.txt,0)}${__CSVRead(C:\Users\XXX\Desktop\producttype.txt,next())},這樣寫的含義是,先讀取到第一個值,之后在一次向下讀取。如果只寫讀取下一個的函數是讀不到值的

在請求產品之前,會有一個添加圖片的接口。就是我們平時使用的軟件中,點擊上傳圖片之后選擇圖片,此時會獲得一個圖片的url地址(一般上傳圖片的都是這樣的流程)。這時候是post的圖片文件,如果使用抓包軟件或者錄制,由于是二級制的,得到的都是亂碼。所以這里的參數,手動添加一下就可以了。

再用一個正則把獲取到的URL 獲取到就可以了。

這樣就完成了添加產品的場景。

之后需要為該產品添加排期,前提是先找到這個產品的ID。由于產品添加成功后是不會返回ID回來的,所以需要去數據庫中獲取到這個ID ,需要一個Jdbc請求

?

3.增加排期

?

?這里post的請求中,參數就需要之前數據庫中查出來的id了,直接使用即可。

由于要求每個產品增加10個排期,因此添加循環控制器,設置循環次數為10 就可以了。

以上就完成了第一個場景的模擬。

?

場景二:

該場景與場景一的不同在于:要產品添加完成之后,再對每個產品添加多個排期。

前面登錄和添加產品的步驟基本是一致的(該場景需要把添加產品的步驟放在循環控制器中),下面直接說添加排期的問題。

添加排期:前提是獲取到所有產品的ID,可以參考上面圖中的jdbc request,改一下sql就可以了。

這時,我們的參數id是這樣的:id_1=6994a163-5d29-4fcc-a19b-752f389c76d6,id_2=....等等

idrs是這樣的:idrs=[{Id=8cb7f419-6155-4ed7-847d-d4e6d17c5297}, {Id=908d37cf-d328-4ce1-b08a-76b4012dd911}..等等.]
可以通過idrs獲取到我們的Id ,方法為${__BeanShell(vars.getObject("idrs").get(${__counter(false,count)}-1).get("Id"),finalid)}。該方法中下標是用當前迭代總數-1來表示的,會有個缺點,當迭代總數大于我們的參數個數時,就取不到值了。可以自己創建一個參數文件,但是當id炒雞多時,這樣就麻煩了。。。
之后換了實現方式,通過foreach控制器來循環取出id的值就可以了。

foreach控制器與我們寫代碼時候的foreach循環含義其實是一樣的。依次循環獲取到值,并執行foreach里面的sample。foreach里面sample的設置:

?foreach完成一次循環是為每次產品增加了一次排期,需求是增加10個。在foreach的外層再加一個循環控制器即可。

以上就完成了第二個場景的設計。

上述2個腳本其實也可以用來準備測試數據,前端要看多個產品的排版顯示等,都可以直接執行一下腳本,自動生成測試數據。

最后設置線程組控制加壓就可以了,浪涌式、階梯式等等

?

轉載于:https://www.cnblogs.com/clairejing/p/7886099.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370513.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370513.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370513.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Android IPC機制(五)用Socket實現跨進程聊天程序

1.Socket簡介 Socket也稱作“套接字“,是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層復雜的操作抽象為幾個簡單的接口供應用層調用以實現進程在網絡中通信。它分為流式套接字和數據包套接字,分別對應網絡傳輸控制層的TCP和UDP協議。TCP協…

ArcGIS 網絡分析[4] 網絡數據集深入淺出之連通性、網絡數據集的屬性及轉彎要素...

前面介紹完了如何創建網絡數據集、如何使用網絡分析功能,當然還有的讀者會迷惑于一些更深層次的問題,比如網絡數據集的連通性問題等。 因為不可能面面俱到,我只能挑重點來闡述,我覺得網絡數據集的連通性、屬性和轉彎是初學者中比較…

java獲取byte 長度_java獲取字節的長度.

我們經常要獲取中文,數字,或者英文字符所占字節的長度,下面就列出各種編碼格式下所占字節的長度:代碼如下:package pack.java.midea.dao;import java.io.UnsupportedEncodingException;/*** 測試;* author zhouhaitao* 2012-5-17*/public class Test {/*** param args* throws …

Batoo JPA –比領先的JPA提供商快15倍

介紹 我早在2000年代就喜歡JPA 1.0。 我甚至在穩定版本發布之前就將其與EJB 3.0一起使用。 我非常喜歡它,因此我為JBoss 3.x實現貢獻了一些零碎的部分。 那時我們公司規模還很小。 創建新功能和應用程序比性能更重要,因為我們有很多想法,我…

python軟件是哪個國家的品牌_有哪些好用的軟件被國人誤認為是外國研發的?

國產軟件被標榜上了英文,即便不是英文,用拼音寫出來,也會有人誤認為是國外的軟件。因為這樣可以顯得高大上,為什么我們會有這樣的想法,是崇洋媚外嗎,并不是,而是之前的國產軟件的確有不少讓我們…

簡單的Session案例 —— 一次性驗證碼

一次性驗證碼的主要目的就是為了限制人們利用工具軟件來暴力猜測密碼,其原理與利用Session防止表單重復提交的原理基本一樣,只是將表單標識號變成了驗證碼的形式,并且要求用戶將提示的驗證碼手工填寫進一個表單字段中,而不是通過表…

[BZOJ2064]分裂

[BZOJ2064]分裂 試題描述 背景: 和久必分,分久必和。。。 題目描述: 中國歷史上上分分和和次數非常多。。通讀中國歷史的WJMZBMR表示毫無壓力。 同時經常搞OI的他把這個變成了一個數學模型。 假設中國的國土總和是不變的。 每個國家都可以用他…

CSS3選擇器

基本選擇器 回顧選擇器 通配符選擇器元素選擇器類選擇器ID選擇器后代選擇器新增基本選擇器 子元素選擇器相鄰兄弟選擇器通用兄弟選擇器群組選擇器 子元素選擇器 概念:子元素選擇器只能選擇某元素的子元素 語法:父元素 > 子元素 (Fathe…

eclipse java工程目錄_轉載:Eclipse下的java工程目錄

對新手來講,一個Java工程內部的多個文件夾經常會讓大家困惑。更可惡的是莫名其妙的路徑問題,在Eclipse編寫Java程序中,出現頻率最高的錯誤很可能就是路徑問題。這些問題原因其實都是一個,就是關于Java工程內的文件結構理解不清&am…

作為JBoss AS 7模塊運行Drools 5.4.0 Final

Drools 5引入了業務邏輯集成平臺,該平臺為規則,工作流和事件處理提供了統一的集成平臺。 它是從頭開始設計的,因此每個方面都是一流的公民,毫不妥協。 Drools 5已分為4個主要子項目: Drools Guvnor(BRMS …

postgres 支持的線程數_線程池被打滿了怎么處理呢,你是否真的了解線程池?

0、前言線程池,顧名思義就是線程的池子,在每次需要取線程去執行任務的時候,沒必要每次都創建新線程執行,線程池就是起著維護線程的作用,當有任務的時候就取出一個線程執行,如果任務執行完成則把線程放回到池…

[樹形DP]沒有上司的舞會

題目鏈接 思考 首先本題中的關系是一種樹形結構,而且符號最優子結構和無后效性,所以可以進行記憶化搜索。 那么首先要在這顆樹中選出一個點作為根節點,按照習慣我們將沒有父節點的點作為根節點。 接下來要思考的是 狀態: dp[i][0…

網頁自適應

1.viewport標簽 基本語法&#xff1a; <meta name”viewport” content”widthdevice-width,initial-scale1” /> 上面這行代碼的意思是&#xff0c;面積的100%&#xff0c;網頁寬度默認等于屏幕寬度&#xff08;widthdevice-width&#xff09;, 原始縮放比例&#x…

java 大數處理

頭文件&#xff1a;import java.util.*;import java.math.*; Scanner cin Scanner (System.in);//讀入while(cin.hasNext())//等價于!EOFncin.nextInt();//讀入一個int型的數ncin.nextBigInteger();//讀入一個大整數 輸出&#xff1a; System.out.print(n);//打印nSystem.out.…

java provider_Java SPI(Service Provider Interface)

//ServiceLoader實現了Iterable接口&#xff0c;可以遍歷所有的服務實現者public final class ServiceLoaderimplements Iterable{//查找配置文件的目錄private static final String PREFIX "META-INF/services/";//表示要被加載的服務的類或接口private final Clas…

帶有自定義注釋的Java注釋教程

Java注釋提供有關代碼的信息&#xff0c;并且它們對所注釋的代碼沒有直接影響。 在本教程中&#xff0c;我們將學習Java注釋&#xff0c;如何編寫自定義注釋 &#xff0c;注釋用法以及如何使用反射來解析注釋 。 注釋是在Java 1.5中引入的&#xff0c;現在它已在Hibernate&…

mybatis通用mapper_全網最全Mapper解析,附實操代碼幫你更好理解

今天給大家介紹一位老朋友當你第一次接觸Java開發的時候&#xff0c;這個老朋友就和你形影不離&#xff0c;當你要進行ORM的時候&#xff0c;單表的增刪改查&#xff0c;這位老朋友給了你極大的幫助&#xff0c;不知道你想到他了嗎&#xff1f;對&#xff0c;這就是通用mapper&…

初嘗微信小程序2-基本框架

基本框架&#xff1a; .wxml &#xff1a;頁面骨架 .wxss &#xff1a;頁面樣式 .js &#xff1a;頁面邏輯 描述一些行為 .json &#xff1a;頁面配置 創建一個小程序之后&#xff0c;app.js,app.json,app.wxss是必須的&#xff0c;而且名字也不能隨意更改&#xff0c;…

JSP內置對象,動作,指令總結

總的來說關于JSP界面有九大內置對象,7大動作,三大指令,現在博主就將這些粘貼出來,此文是很久前整理的學習筆記,如有雷同請諒解! jsp九大內置對象:1>out 向客戶端輸出數據,字節流.如out.print(" dgaweyr"); 2>request 接收客戶端的http請求.String getParameter…

洛谷 P1795 無窮的序列_NOI導刊2010提高(05)

P1795 無窮的序列_NOI導刊2010提高&#xff08;05&#xff09; 題目描述 有一個無窮序列如下&#xff1a; 110100100010000100000… 請你找出這個無窮序列中指定位置上的數字 輸入輸出格式 輸入格式&#xff1a;第一行一個正整數N&#xff0c;表示詢問次數&#xff1b; 接下來的…