soapUI中的环境处理

时间:2013-05-01 16:34:23

标签: soapui

我正在尝试使用Soapui 4.5 pro中提供的环境功能并且它无法正常工作:(之前有人试过这个或者有没有其他方法可以实现这一点?对我来说,每个环境都有不同的数据库连接和API终点。非常感谢。

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

2 个答案:

答案 0 :(得分:1)

您可以尝试为项目使用“加载脚本”: enter image description here此脚本始终在运行soapui或testrunner时执行,并从配置文件中获取端点(或其他参数,例如数据库连接)

脚本代码:

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");

如您所见,脚本将您的端点放入自定义项目变量 Env 。因此,在您的所有请求中,您应该使用端点 http:// $ {#Project #Env}

配置文件:

endpoint = dev.mysite.com

解决方案也适用于非专业版

答案 1 :(得分:0)

要获得数据库连接,可以使用GroovyUtilsPro类https://www.soapui.org/apidocs/pro/com/eviware/soapui/support/GroovyUtilsPro.html

例如

def utils = new com.eviware.soapui.support.GroovyUtilsPro(context)\
def conn = utils.getJdbcConnection("{the Name of your JDBC Connections in Environments}")

这仅适用于soapUI pro。 我仍然在寻找如何从“环境”设置获取服务端点。