今天給大家來梳理下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的常用參數化方式就整理到這,希望大家學有所用
