1. 程式人生 > >用Jmeter進行介面測試如何從資料庫獲取引數

用Jmeter進行介面測試如何從資料庫獲取引數

Jmeter進行介面測試如何從資料庫獲取引數

剛接觸介面測試,順便將自己的所學記錄下來,可能存在錯誤,如有需要後續會矯正。

此處以一個APP使用者登陸的介面為例。登入時需要的引數為usernamepassword

1. 建立並設定連線配置。

右擊執行緒組:新增 - 配置原件- JDBC Connection Configuration

 

 該配置頁需要填寫Variable NameDatabase URLJDBC Driver classUsername(資料庫登陸使用者名稱)、Password(資料庫登陸密碼)。其他保持預設設定。

2. 建立並設定JDBC Request

右擊執行緒組:新增 - Sampler - JDBC request

 

該配置頁需要填寫Variable nameQuery(從資料庫獲取目標引數的sql語句)、Result variable name(查詢結果變數名稱)。其中Variable name要與JDBC Connection Configuration中設定的Variable name保持一致。設定完JDBC request後,執行該請求,得出的響應結果如下圖所示,因為列較多,產生了折行

 

然後在Jmeter上執行使用者登入用例/user/login或其他用例時,可以通過Jmeter的內部函式從JDBC request

的響應結果裡獲取指定引數來作為引數。下面我以使用者登入用例為例。

備註:如果在執行JDBC request後,響應結果報錯:“Cannot load JDBC driver class 'com.mysql.jdbc.Driver”。表示沒有JDBC連線MySql的驅動包,因此需要手動驅動包mysql-connector-java-5.1.30.jarmysql-connector-java-5.1.10-bin.jar新增到Jmeter安裝包的lib目錄下(我的是C:\JAVA\apache-jmeter-3.1\lib)。然後重新開啟Jmeter即可。

3. 如何將JDBC request的執行結果作為其他用例的引數。

此處以使用者登入介面為例,需要的引數為usernamepassword


其中username的值為

${__BeanShell(vars.getObject("/user/login").get(${__intSum(${index},-1)}).get("id"))}

__BeanShelljmeter內部函式入口vars.getObject可以獲取到jmeter上下文中我們定義的變數物件

資料庫的獲取方式${__BeanShell(vars.getObject("param").get(n).get("colname"))}

__intSum(a,b)獲取一個數據的計算求和值

資料庫獲取第一行下標是從0開始的,但一般我們取值會預設設定1作為開始,所以這裡我們做了一個處理,把我們設定的值減1,讓他從0開始計數。從列取值要指定列名

,${index}是另外一個外部引數,設定我們要取資料表中的幾行值,設定如下,可以控制獲取資料行

4. 如何設定外部引數index

右擊JDBC request:新增-配置元件- CSV Data Set Config

 

建立一個TXT檔案並儲存,該文字檔案中的數字就是index的值。

 

CSV Data Set Config配置頁,Filename填寫建立的txt檔案的存放路徑;File encoding可根據需求填寫,一般填寫utf-8Variable Names填寫index。其他保持預設設定即可。

通過以上方式,可以獲取資料庫中資料,並且作為我們的目標引數。

5. 我們還可以用JDBC PreProcessor來替代JDBC request。右擊http request:新增-前置處理器- JDBC PreProcessor。該配置頁的設定與JDBC request完全一樣。唯一不同的就是JDBC PreProcessor中從資料庫獲取的資料無法檢視。

 

相關推薦

Jmeter進行介面測試如何資料庫獲取引數

用Jmeter進行介面測試如何從資料庫獲取引數 剛接觸介面測試,順便將自己的所學記錄下來,可能存在錯誤,如有需要後續會矯正。 此處以一個APP使用者登陸的介面為例。登入時需要的引數為username和password。 1. 建立並設定連線配置。 右擊執行緒組:新增 -

Jmeter進行介面壓力測試的步驟

1、雙擊jmeter.bat  2、右鍵點選測試規劃à新增àThreadsà執行緒組,此時在測試規劃下邊顯露出來執行緒組選項。點選該選項,顯露出來執行緒組介面。參變數執行緒數表達若干個煩請,參變數Ramp-Up Period表達在多長時間內跑完全部的煩請,迴圈回數表達同一

怎樣JMeter介面測試

本文介紹JMeter如何做web service測試,一般來說web服務,一般指的是HTTP請求相關的內容。這裡就介紹一下如何利用JMeter做基於HTTP的web介面測試。介面也叫API(Application Programming Interface),很多我們使用的各種APP,上面的內容顯示大部分都呼

使用Jmeter進行介面測試和壓力測試的配置和使用

1. Jmeter簡介 Apache JMeter是Apache組織開發的基於Java的壓力測試工具。用於對軟體做壓力測試,它最初被設計用於Web應用測試,但後來擴充套件到其他測試領域。 JMeter 可以用於對伺服器、網路或物件模擬巨大的負載,來自不

使用Jmeter進行介面測試時需登入後才能測試介面的配置

1、開啟Jmeter3.1:   啟動命令路徑:apache-jmeter-3.1\bin\jmeter.bat 2、測試步驟:1、測試計劃--右鍵新增--Threads--執行緒組2、執行緒組--右鍵--http資訊頭管理器  輸入Content-Type=application/json,表示介面請求的預

使用Jmeter進行介面測試

1、Jmeter的啟動 在bin下啟動jmeter.bat   2、建立測試計劃 雙擊開啟jmeter.bat後,彈出一個新的測試計劃,選擇儲存路徑,後面的步驟,每次新增或修改了了一些選項,軟體並不會自動儲存到jmx檔案中,所以進行測試後,如果需要儲存本次測試選項,要手動到&ldquo

介面測試: Jmeter資料庫獲取測試資料, 作為下一個介面引數方法

現在有一個需求,從資料庫tieba_info表查出rank小於某個值的username和count(*),然後把所有查出來的username和count(*)作為引數值,用於下一個介面。 (資料庫連線配置,請參考我的另外一篇博文jmeter測試mysql資料庫之JDBC請求https://blo

資料庫獲取到json資料,前端vue.js資料繫結

function userinfor() { $.get("http://127.0.0.1:8082/lzghcg/user/userShows", function(result, state) { //這裡顯示從伺服器返回的資料 new Vue

jmeter進行多使用者併發壓力測試

    近日manager要求對專案進行壓力測試,開始對jmeter進行了研究。jmeter是Apache一個開源專案,可對各種專案進行測試,甚至包括junit。      測試要求如下,多使用者同時登陸web應用程式,並進行操作,檢視在多使用者操作下,程式的performe

一個專門來給測試學習者進行介面測試的公開介面

1、獲取學生資訊介面: 2、使用者註冊介面 3、登入 3、新增學生資訊 4、學生金幣充值 需要設定headers和body兩部分: 1.新增金幣需要以管理者身份新增(剛才“登入”介面測試時已經註冊了一個新使用者zhaixl,這個使用者已經被額外授權為管理員,

Jmeter如何更好的組織指令碼結構進行介面測試

        做介面測試已經兩年多了,jemter的指令碼編寫特別靈活,要想更高效的使用jmeter進行介面測試,需要對指令碼的層次結構有所約束,形成一個統一規範。 在這裡我把我的經驗分享一下,可能

使用Python的requests庫進行介面測試——session物件的妙

在進行介面測試的時候,我們會呼叫多個介面發出多個請求,在這些請求中有時候需要保持一些共用的資料,例如cookies資訊。妙用1requests庫的session物件能夠幫我們跨請求保持某些引數,也會在同一個session例項發出的所有請求之間保持cookies。舉個栗子,跨請

SSM整合(json,easyui,spring實現資料庫查詢資訊並進行分頁)

首先建一張資料庫表向裡面錄入一些資訊: CREATE TABLE `userinfo` ( `userid` INT (11), `userName` VARCHAR (180), `userSex` CHAR (27), `userAge` INT (

效能測試--聯合使用jvisualVM與jmeter進行效能測試介面效能分析

在使用PerfTest進行介面的測試之後,該工具可以進行簡單的效能測試,但是對於http請求進行模擬不方便,趁這次機會,學習使用jmeter進行效能測試及分析。 之前用過jvisualVM,本次就結合jmeter一起,進行效能測試與原因分析。本篇文章分為兩大部

bootstrap-table複選框預設選中。(資料庫獲取到對應的狀態進行判斷是否為選中狀態)

$('#table').bootstrapTable('destroy'); $('#table').bootstrapTable({url:'../data/kehulist.json',uniqu

Jmeter性能測試入門到精通

jmeter課程觀看地址:http://www.xuetuwuyou.com/course/251課程出自學途無憂網:http://www.xuetuwuyou.com 課程介紹全程實戰,每個知識點通過實際項目演練講解理論實踐結合,既會做,又知道為什麽這樣做講解時同其他工具做對比,加深理解,了解區別分享技巧,

如何開始Junit進行單元測試

nbsp gif isp public aik 分享 pan 因此 可操作性 近段時間,公司預備推動單元測試以提高轉測代碼的質量,借鑒學習一些測試大佬的經驗自己試了一把,小測我在此寫下初寫單元測試的心得,希望能和大家交流交流單元測試技術! 一、概述 1、 單元測試(

robotframework 學習(2) :使用RIDE進行介面測試之傳送請求和接收資料斷言

一、RIDE的介紹:         RIDE是robotframework圖形操作前端,也可以理解為一種編輯器,它以cell的形式來進行定義資料和方法,返回結果等,我們可以使用它進行建立測試用例和編寫測試指令碼,並且執行自動化測試。  

jmeter介面測試(http介面測試

基礎知識儲備 一、瞭解jmeter介面測試請求介面的原理 客戶端--傳送一個請求動作--伺服器響應--返回客戶端 客戶端--傳送一個請求動作--jmeter代理伺服器---伺服器--jmeter代理伺服器--伺服器 二、瞭解基礎介面知識: 1、什麼是介面:前端與後臺之間的橋樑、資料傳輸的通道,就是一

Jmeter jdbc介面測試

一,jmeter工具介紹     JMeter也稱為“Apache JMeter”,它是一個開源的,100%基於Java的應用程式,帶有圖形介面。 它旨在分析和衡量Web應用程式和各種服務的效能和負載功能行為。 JMeter主要用於測試Web應用程式或FTP應用程式,但目前,它適用於功能測試,JDBC資料