JMeter學習(四)參數化、斷言、集合點

1.參數化

錄制腳本中有登錄操作,需要輸入用戶名和密碼,假如系統不允許相同的用戶名和密碼同時登錄,或者想更好的模擬多個用戶來登錄系統。

這個時候就需要對用戶名和密碼進行參數化,使每個虛擬用戶都使用不同的用戶名和密碼進行訪問。

JMeter的參數化存在兩種方式

準備工作

a)錄制一個腳本(可以用badboy工具錄制),在jmeter中打開,找到有用戶名和密碼的頁面。如下:

b)我們需要“參數化”的數據,用記事本寫了三個用戶名和密碼,保存為.txt格式文件注意:用戶名和密碼是一一對應的,中間用戶逗號(,)隔開。

參數化的兩種方式

(1)借助函數助手的方式

a)點擊菜單欄“選項”---->函數助手對話框,看下圖: ?CSV文件列號是從0開始的,第一列0、第二列1、第三列2、依次類推

b)復制生成的參數化函數,打開登陸請求頁面,在右則的參數化中找到我們要參數化的字段,這里對用戶名和密碼做參數化,第一列是用戶名,列號為0;第二列是密碼,列號為1;修改函數中對應的參數化字段列號就可以啦

好了,現在我們的參數化設置完成,在腳本的時候,會調用我們d:\JMeter\Login.txt文件,第一列是用戶,第二列是密碼。

(2)借助JMeter中的配置元件(CSV?Data?Set?Config)

a)選中線程組,點擊右鍵,添加-配置元件-CSV Data Set Config

說明:

Filename ---?參數項文件
File Encoding ---?文件的編碼,設置為UTF-8
Vaiable Names ---?文件中各列所表示的參數項;各參數項之間利用逗號分隔;參數項的名稱應該與HTTP Request中的參數項一致。
Delimiter ---?如文件中使用的是逗號分隔,則填寫逗號;如使用的是TAB,則填寫\t;(如果此文本文件為CSV格式的,默認用英文逗號分隔)

Recycle on EOF? ---?True=當讀取文件到結尾時,再重頭讀取文件
? ? ? ? ? ? ? ? ? ? False=當讀取文件到結尾時,停止讀取文件
Stop thread on EOF? ---?當Recycle on EOF為False時,當讀取文件到結尾時,停止進程,當Recycle on EOF為True時,此項無意義

b)使用剛才定義好的變量

?

至此,兩種參數化的方法就介紹完了。

需要說明一下:函數助手方法要比CSV控件方法參數化功能要弱,推薦使用CSV控件方法。

2.斷言

JMeter也有像LR中的檢查點,本篇就來介紹下JMeter的檢查點如何去實現。

JMeter里面的檢查點通過添加斷言來完成。

上面講到,我們對用戶名和密碼進行了參數化,那么怎樣來判斷jmeter有沒有正確調用t.dat里面的文件呢。當然,我們可以從結果圖表中查看。但我還是想在“登錄”這個地方進行一下檢查。

(1)添加響應斷言,右鍵點擊我們的“登錄”頁面---->添加---->斷言---->響應斷言

(2)設置響應斷言

斷言中可以添加多個斷言一起判斷,斷言中也可以使用參數化方法,進行動態判斷。

(3)添加斷言結果,右鍵點擊我們的“登錄”頁面---->添加---->監聽器---->斷言結果

 再添加一個“查看結果樹”?右鍵點擊我們的“登錄”頁面---->添加---->監聽器---->查看結果樹

在線程組中設置3個用戶,點擊運行運行。

(4)查看斷言結果

a)、成功如下圖:

b)、若斷言失敗,如下圖:

注意:一般成功只會顯示一行數據,否則會多顯示一行。至此,檢查點設置完成。

3.集合點

JMeter也有像LR中的集合點,本篇就來介紹下JMeter的集合點如何去實現。

JMeter里面的集合點通過添加定時器來完成。

注意:集合點的位置一定要在Sample之前.

簡單來理解一下,雖然我們的“性能測試”理解為“多用戶并發測試”,但真正的并發是不存在的,為了更真實的實現并發這感念,我們可以在需要壓力的地方設置集合點,拿那個用戶和密碼的地方,每到輸入用戶名和密碼登錄的地方,所有的虛擬用戶都相互之間等一等,然后,一起訪問。

(1)接著之前創建的腳本,右鍵點擊 線程組---->定時器---->Synchronizing Timer

這樣子就添加了一個“集合點”,下面來設置一下集合點,設置延遲時間(以毫秒為單位)

(2)我們添加完之后的列表是這個樣子的

發現了沒,我們集合點的位置不對,應該在登錄的前面才對。怎么弄呢?

簡單方法:拖住集合點,直接移動Synchronizing Timer至登錄的前面即可。

至此,集合點已添加完成。

?

綜上,即為JMeter的參數化、斷言、集合點的添加方法。

?

轉載于:https://www.cnblogs.com/tian-yong/p/4466690.html

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

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

相關文章

Windows在安裝builtwith時遇到問題

builtwith是一個十分有用的工具,可以用來檢查網站構建的技術類型。但是我在安裝這個包的時候出現了問題百度之后發現是編碼的問題,應將編碼格式設置為gbk具體過程就是:首先要找到Python路徑下的Lib文件夾的mimetypes.py文件。然后在import下面…

php class使用方法,php的類使用方法問題

php的類使用方法:1、類通過class關鍵字來定義;2、訪問對象的時候,屬性名前不要加【$】;3、通過【->】訪問修改類內成員變量;4、函數的返回值通過return來返回。php的類使用方法:1.語法說明和其他語言一樣…

Linux抓包

tcpdump -i eth1 -nn dst host 172.31.0.42 -w /tmp/temp.cap 監聽指定的主機 $ tcpdump -i eth0 -nn host 192.168.1.231 這樣的話,192.168.1.231這臺主機接收到的包和發送的包都會被抓取。 $ tcpdump -i eth0 -nn src host 192.168.1.231 這樣只有192.168.1.231這…

匯編語言中各種聲明

參考鏈接:http://zhidao.baidu.com/link?urlQZiRv_6nAzF1XHOG83SwngS1HoRZXWSP2a0uQEHVDON1rP1a07xlXCiYUXd0ORQP32h_7Nhfd-afCMox8q8McK 本文僅是為了自己學習方便而已,勿噴。 DATAS SEGMENT;定義數據段 BUF0 DB 1;定義一個字節型變量,名…

linux awk數組相關操作介紹

用awk進行文本處理,少不了就是它的數組處理。那么awk數組有那些特點,一般常見運算又會怎么樣呢。我們先看下以下的一些介紹,結合樣例我們會解說下它的不同之處。在 awk 中數組叫做關聯數組(associative arrays),由于下標記能夠是數…

java求最優解庫,IPOPT在第二次求解時找到最優解

通常當我嘗試使用IPOPT解決問題時,即使問題不可行,IPOPT也會顯示運行過程,例如顯示問題有多少約束以及問題的其他一般信息,但這次我遇到了一個奇怪的問題 . 我第一次解決它沒有顯示的問題,但第二次解決它,I…

ODAC(V9.5.15) 學習筆記(四)TCustomDADataSet(2)

2.連接相關 名稱 類型 說明 Connection 指向一個數據庫連接對象 Disconnected 設置為True將在數據庫關閉后繼續保持數據集的開啟狀態。 3. 數據獲取 名稱 類型 說明 FetchRows Integer 從數據庫服務器獲取一次性獲取數據記錄的條數,缺省25條。 Is…

詳解匯編語言中乘法指令:MUL、IMUL

本文參考了馬維華老師的《微機原理與接口技術》一書 指令格式: MUL REG/MEM ;REG寄存器,MEM存儲器 IMUL REG/MEM MUL和IMUL指令分別用于實現無符號數的乘法和有符號數的乘法運算。都只有一個源操作數,可以使寄存器或存儲…

Android Resource介紹和使用

1. 相關文件夾介紹 在Android項目文件夾里面,主要的資源文件是放在res文件夾里面的。assets文件夾是存放不進行編譯加工的原生文件,即該文件夾里面的文件不會像xml,java文件被預編譯,可以存放一些圖片,html&#xff0c…

mysql.sock 111,錯誤2002(HY000):無法通過套接字’/var/run/mysqld/mysqld.sock’連接到本地MySQL服務器(111)...

在Ubuntu計算機上獲取關于問題“ mysql”命令的錯誤:錯誤2002(HY000):無法通過套接字’/var/run/mysqld/mysqld.sock’連接到本地MySQL服務器(111)服務未以以下錯誤啟動:rootbettorssidekick:/# service mysql startstart: Job failed to sta…

c語言中的break和continue

break和continue是C語言中的兩條語句,這兩條語句在循環和選擇結構中經常會遇到。 break首先最長見與switch語句中。比如我們設計一個程序,通過輸入學生的成績來確定學生成績等級,等級一共分為四等,分別是優秀、良好、一般、較差&a…

構建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后臺管理系統(44)-工作流設計-設計表單...

構建ASP.NET MVC4EF5EasyUIUnity2.x注入的后臺管理系統(44)-工作流設計-設計表單 原文:構建ASP.NET MVC4EF5EasyUIUnity2.x注入的后臺管理系統(44)-工作流設計-設計表單系列目錄 設計表單是比較復雜的一步,完成一個表單…

匯編語言中變量的聲明

參考鏈接為:http://zhidao.baidu.com/link?urlQZiRv_6nAzF1XHOG83SwngS1HoRZXWSP2a0uQEHVDON1rP1a07xlXCiYUXd0ORQP32h_7Nhfd-afCMox8q8McKDATAS SEGMENT;定義數據段BUF0 DB 1;定義一個字節型變量,名稱是BUF0,初始值是01HBUF1 DB "2&qu…

php標簽嵌入規范,HTML標簽嵌套的詳細規則

這次給大家帶來HTML標簽嵌套的詳細規則,HTML標簽嵌套的注意事項有哪些,下面就是實戰案例,一起來看一下。最近在重新學習HTML的知識,算是對HTML的一個重新認識吧!別小看了這東西,一切的網頁可都是以它為基礎…

6、動態方法調用和使用通配符定義

action名稱后面:!方法名即可;使用通配符:12345678910111213<?xml version"1.0" encoding"UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN""http://struts.apache.org/dtds…

Sql 函數大全 (更新中...由難到簡

1.字符處理類&#xff1a; 1.1 指定指定字符輸出的次數 select replicate(1a,5) 結果&#xff1a;1a1a1a1a1a &#xff08;5個1a&#xff09;轉載于:https://www.cnblogs.com/shengwei/p/4479662.html

C錯誤處理

本文為個人學習筆記&#xff0c;僅用于個人學習、復習使用&#xff01;c語言不提供對錯誤處理的直接支持&#xff0c;但是作為一種系統編程語言&#xff0c;它以返回值得形式允許您訪問底層數據&#xff0c;在發生錯誤時&#xff0c;大多數的c或Unix函數調用返回1或NULL&#x…

存儲過程——存儲過程與視圖(三)

數據庫視圖&#xff1a;視圖是虛表&#xff0c;是從一個或幾個基本表&#xff08;或視圖&#xff09;中導出的表&#xff0c;在系統的數據字典中僅存放了視圖的定義&#xff0c;不存放視圖對應的數據。 在sql中視圖是基于sql語句的結果集的可視化的表&#xff1b;視圖包含行和列…

php如何轉類型,PHP數據類型轉換

指的是將數據(變量)的值轉換成目標數據類型。PHP中有兩種數據類型轉換方式&#xff1a;自動轉換&#xff0c;強制轉換自動轉換&#xff1a;系統根據操作所需要的類型將變量的值進行對應類型的轉換自動轉換都是系統本身所做的事情&#xff0c;不需要用戶去干預。強制轉換&#x…

lr_start_timer,lr_get_transaction_duration,lr_get_transaction_wasted_time函數使用總結

lr_start_timer&#xff1a; 函數的功能&#xff1a; 為了計算時間更加精確&#xff0c;可以用這個函數去掉LR自身的檢查點所浪費的時間。如text check and image time Action() { double time_elapsed; merc_timer_handle_t timer;web_url("487989.html","URLh…