Groovy SOAP 断言 UI 用于数据库输出

Groovy assertion on SOAP UI for database output

使用 SOAP UI 我正在 运行 查询和获取特定 ID 的数据,之后我想验证特定字段及其返回的相应值。 例如- 版本=2 所以我想验证每次生成的记录版本都是 2 .

我检查并想出了下面的代码,但是 Select 查询给我错误,它无法读取从 recordId 变量返回的值,我我在Where条件下使用,那么如何解决呢?

下面是我要验证的数据库结果 here

 def listOfPostedRecordIds = parser.parseText(context.expand( '${1.CreateTestData#IdsToBeDeleted}' ))

 def **recordId**=listOfPostedRecordIds[0] 

log.info "recordId is "+recordId 

def Version = myDB.firstRow('''Select cast(("Research"."meta"#>>'{versionId}') as integer)as Version from "Research"where id= **("recordId")** ''') 

log.info  "The value of  is ${Version}

要在 Groovy 中参数化 SQL 中的数据,请使用 ?像这样:

def recordId = listOfPostedRecordIds[0]

def Version = myDB.firstRow("""
    Select cast(('ResearchSubject'.'meta'#>>'{versionId}') as integer) as Version
    from 'ResearchSubject'
    where id = ?;""", [recordId])

log.info "The value of is ${Version}"

另请注意,您的 select 与 "、'、# >> 和 {} 相当复杂。确保所有这些都是真正需要的。