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