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