2013-05-01 393 views
0

我試圖使用在Soapui 4.5 pro中可用的環境功能,它不工作:(任何人之前嘗試過或有任何其他方式來實現這一目標?對我而言,每個環境將有不同。DB連接和API終點幫助非常感謝soapUI中的環境處理

http://www.soapui.org/Working-with-Projects/environment-handling-in-soapui.html

+0

我測試了它,它工作正常。您應該問SoapUI支持,因爲您是SoapUI Pro用戶。 – minisu 2013-05-06 11:45:27

+0

是的,我把它發佈在SoapUI支持論壇上,好像很多人都面臨這個問題。順便說一句:你使用每晚構建或穩定版本? – Sukuva 2013-05-06 15:59:57

+0

謝謝minisu。我通過將Jenkins的值傳遞給SoapUI來解決此問題,然後使用此值替換了API端點。然而,設置的環境對我來說不起作用。因此,現在我的API終點URL將如下所示:$ {#Project#API_URL}其中API_URL是項目級自定義變量。如果您對此有任何疑問,請告訴我。 – Sukuva 2013-05-14 23:57:42

回答

1

你可以嘗試使用「加載腳本」的項目: enter image description here這個腳本在運行的soapUI或TestRunner的和得到總是執行端點(或一些其他參數,例如DB連接)從配置文件。

Script代碼:

import com.eviware.soapui.SoapUI 
import com.eviware.soapui.model.testsuite.TestRunner 

def utils = new com.eviware.soapui.support.GroovyUtils(context) 

// load config file 
def pathConfig = utils.projectPath + "/<path to your project>/config/" 
def config = new java.util.Properties() 
config.load(new java.io.FileInputStream(pathConfig + "config.ini")) 

// set the project endpoint from the config 
props = project 
props.setPropertyValue("Env", config.getProperty("endpoint")) 

log.info "Running test for: " + config.getProperty("endpoint"); 

正如你可以看到腳本把您的端點到自定義項目變量信封。因此,在所有請求中,您應該使用端點http:// $ {#Project#Env}

配置文件:

endpoint = dev.mysite.com 

解決方案也可用於非專業版