ktm*_*cks 6 groovy soapui ready-api
ReadyAPI'语义分析'错误.我已经将我的脚本库存储在bin文件夹中,我getBuildingInfo从ReadyAPI的groovy测试脚本中调用该方法.大多数时候这种方法工作正常,但有一段时间我得到了这个错误.我想找出确切的问题并找出根本原因.我在eclipse中测试了代码,它工作得非常好.
错误:BUG!源单元'Script15.groovy'阶段'语义分析'中的异常对PropertiesQuery的查找导致了失败的compilaton.这个电话不应该有任何汇编.BUG!源单元'Script15.groovy'阶段'语义分析'中的异常对PropertiesQuery的查找导致了失败的compilaton.这个电话不应该有任何汇编.
14:在静态范围内找到了表观变量"数据库",但没有引用局部变量,静态字段或类.可能的原因:您试图引用绑定中的变量或静态上下文中的实例变量.您错误拼写了一个类名或静态导入的字段.请检查拼写.您试图使用方法"数据库",但在语法不允许的位置省略括号.@第14行,第17列.def dbConn = Database.getDbConnection(env);
public class Database {
public static Connection getDbConnection (String env){
Connection conn = null;
Class.forName("com.mysql.jdbc.Driver")
switch (env){
case "TEST":
conn = DriverManager.getConnection("a","b","c")
break;
case "DEV":
conn = DriverManager.getConnection("a","b","d")
break;
}
return conn;
}
public static void closeDbConnection(Connection conn) {
conn.close();
}
}
class PropertiesQuery {
public static String getBuildingInfo(String env, String id, int row ){
String result = "111";
def query = "SELECT col1, col2 FROM tabl1 WHERE id = 1"
def dbConn = Database.getDbConnection(env);
def stmt = dbConn.createStatement()
def rs = stmt.executeQuery(query);
while(rs.absolute(row)){
rs.getString("col1")
rs.getString("col2")
result = rs.getString("col1") +"/"+rs.getString("col2")
return result;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有自己的 Groovy 脚本用于返回 SQL 连接。我没有命名驱动程序,而是使用 Groovy SQL 包......
哦,我注意到我的机器上有一个连接数据库的问题。不确定这是否是一个更广泛的问题,但我有它并且已经在这里其他地方提到过。当我启动 SoapUI 时,我无法运行使用数据库连接的测试,因为它失败了。我要做的就是进入环境屏幕,选择我的连接之一,然后单击“测试连接”按钮。之后,我可以运行任何测试。这很奇怪,但在我的机器上,单击测试连接似乎只是将空气从管道中吹出......
导入groovy.sql.Sql
类 jdbcConnections {
jdbcConnections() {
}
def getJdbcConnection(conDetails, log) {
def connString = conDetails.getConnectionString()
def url = 'jdbc:oracle:thin:' + connString.substring(connString.indexOf('@'),connString.size());
def userName = connString.replace('jdbc:oracle:thin:', '');
userName = userName.substring(0,userName.indexOf('/'));
def password = connString.substring(connString.indexOf('/') + 1,connString.indexOf('@'));
log.info(' Connecting to database ' + conDetails.getName() + '. Using account ' + userName + ' at URL ' + url );
return Sql.newInstance(url, userName, password, conDetails.getDriver());
}
def getJdbcConnection(conDetails)
{
def connString = conDetails.getConnectionString()
def url = 'jdbc:oracle:thin:' + connString.substring(connString.indexOf('@'),connString.size());
def userName = connString.replace('jdbc:oracle:thin:', '');
userName = userName.substring(0,userName.indexOf('/'));
def password = connString.substring(connString.indexOf('/') + 1,connString.indexOf('@'));
return Sql.newInstance(url, userName, password, conDetails.getDriver());
}
Run Code Online (Sandbox Code Playgroud)
}
我传入的连接详细信息来自环境/JDBC 连接屏幕。
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |