SoapUI 的幾種常用參數化方式
- 2019 年 10 月 12 日
- 筆記
今天給大家來梳理下soapui這款工具關於參數化的幾種方式以及具體的應用場景
1、properties
官方文檔:https://www.soapui.org/docs/functional-testing/teststep-reference/properties.html
比如工作中需要測試主流程功能即多個功能,比如這裡註冊register、登錄login兩個功能請求,包含的請求參數,我們分別來看下:
註冊請求中參數分別是手機號碼mobilephone、密碼pwd、註冊名regname
登錄請求中參數分別是手機號碼mobilephone、密碼pwd
如果想多次運行TestCase,完成多次註冊-登錄,因為mobilephone、regname是唯一的,所以每運行一次,就必須修改一次這些參數值。實際工作中不可能只有註冊、登錄兩個請求,包含的功能請求會更多,工作量就相當大。
所以這裡解決辦法就是進行參數化
1)右鍵Test Steps–>Add Step–>Properties
2)添加兩個需要進行參數化的變數,變數名自定義分別為mobilephone、name;對應的value值填上需要註冊的用戶手機號碼及名字資訊
3)分別對register、login請求中參數進行變數引用。${Properties#mobilephone}變數引用的固定寫法${變數名},Properties#mobilephone表示Properties中定義的mobilephone變數,${Properties#name}同理

4)雙擊TestCase運行查看結果

2、DataSource
官方文檔:https://www.soapui.org/docs/data-driven-tests/reference/datasources.html
右鍵Test Steps–>Add Step–>DataSource
數據源類型
以上我們講兩種常用到的數據源類型
1)DataSource之Excel
a、例如我們需要批量註冊多個用戶,先準備包含多個註冊用戶資訊的excel
b、DataSource中按照如下1、2、3步去添加並測試獲取數據是否正確
c、右鍵Test Steps–>Add Step–>DataSource Loop, 添加在循環register請求之後。並且設置DataSource Loop的數據來源步驟、目標step是register
d、進行register請求中參數的變數引用
e、雙擊TestCase,運行查看結果循環4次

2)DataSource之JDBC
例如需要從資料庫獲取到用戶帳號資訊完成登錄,這裡我們主要從資料庫獲取手機號碼mobilephone
a、DataSource中數據源類型選擇JDBC,並進行如下對應設置
設置完後測試下連接,成功。
測試不成功請注意:連接資料庫需要用到驅動jar包,soapui本身不自帶,需要自己下載後放到soapui安裝目錄的lib目錄下。不同資料庫驅動不一樣。
b、在SQL Query中輸入要查詢的sql語句,select mobilephone from member order by id desc;
並且添加properties參數mobilephone,點擊運行,能看到已經成功獲取資料庫的值
c、進行login請求中參數的變數引用
d、在login請求後右鍵Test Steps–>Add Step–>添加DataSource Loop,並設置Loop,目標step是login
e、雙擊TestCase,運行查看結果,循環36次獲取到資料庫的所有手機號並完成了登錄
ps:若不想將獲取到的所有數據完成循環,DataSource進行下數據讀取設置
運行後,只循環5次
soapui的常用參數化方式就整理到這,希望大家學有所用