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 与 "、'、# >> 和 {} 相当复杂。确保所有这些都是真正需要的。
使用 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 与 "、'、# >> 和 {} 相当复杂。确保所有这些都是真正需要的。