2017-05-09 54 views
0

我正試圖在測試用例中執行安裝腳本並準備一些數據。 我定義了連接,用戶&密碼全局屬性,請參見: enter image description here如何在安裝腳本中引用全局屬性?

現在,我想,而不是硬編碼的連接,用戶名和密碼來引用全局屬性,這可能嗎?

import groovy.sql.Sql 
def jdbcDriver = "net.sourceforge.jtds.jdbc.Driver" 
com.eviware.soapui.support.GroovyUtils.registerJdbcDriver(jdbcDriver) 
def jdbcConnection = "jdbc:jtds:sqlserver://localhost/mydb" 
def jdbcConnectionUser="dbuser" 
def jdbcConnectionPassword="dbpswrd" 
log.info jdbcConnection 
//log.info ${#Global#JDBC_CONNECTION_STRING} <-- this doesn't work ?? 
//${#Global#JDBC_CONNECTION_STRING}, ${#Global#DBUSER}, ${#Global#DBPASS} 
def db = [url:jdbcConnection,user:jdbcConnectionUser,password:jdbcConnectionPassword,driver:jdbcDriver] 
try 
{ 
    def connection = Sql.newInstance(db.url, db.user, db.password, db.driver) 
    context.setProperty("dbconn",connection) 
    log.info "connected to the database" 
}catch(Exception e){ 
    log.error "Could not connect to the database" 
} 
if(context.dbconn) 
{ 
    def sql = context.dbconn  
    log.info "executing setup script" 
    sql.execute "update table_a set column_b = 'S' where column_c = 'something'" 
    sql.close() 
} 

我試圖引用全局屬性,使用下面的語法,但無濟於事

${#Global#JDBC_CONNECTION_STRING} 

回答

0

我發現這是工作,應該問這個問題之前,閱讀文檔。

def jdbcConnection = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue("JDBC_CONNECTION_STRING") 
def jdbcConnectionUser= com.eviware.soapui.SoapUI.globalProperties.getPropertyValue("DBUSER") 
def jdbcConnectionPassword= com.eviware.soapui.SoapUI.globalProperties.getPropertyValue("DBPASS") 

這裏是一個鏈接,我找到了答案和相關摘錄:

def globalProperty = com.eviware.soapui.SoapUI.globalProperties.getPropertyValue("MyProp") 

https://www.soapui.org/scripting-properties/tips-tricks.html#1-2-Get-and-Set-Settings