【问题标题】:SOAPUI Assertion script writing twice to fileSOAPUI 断言脚本两次写入文件
【发布时间】:2017-03-07 13:55:28
【问题描述】:

我正在编写一个 groovy 脚本,从响应中提取文本并将其写入系统上的输出文件。我遇到的问题是当我运行调用测试的 groovy 脚本时。脚本断言运行并将文本两次记录到文件中。

它似乎在它离开断言之前写入文件。

我尝试了以下方法:

...
...
if (context.alreadyWritten == null || !context.alreadyWritten) {
    inputFile.append (testString+ "\n")
    log.info testString
} else {
   log.info ('Already written!')
}   

在执行测试步骤之前,我已在 groovy 中将标志 (context.alreadyWritten) 设置为 false。

SOAPUI 版本:5.3.0

我发现 Smartbear 之前在断言脚本中附加到文件时存在问题。但是建议使用解决方法来解决此问题:

if (context.alreadyWritten == null || !context.alreadyWritten) {
}

这不能解决我的问题

当我使用 log.info 记录结果时,我看到只记录了一个消息实例。

任何想法。

谢谢

【问题讨论】:

  • 您是否只需将响应写入文件。就这些吗?

标签: groovy soapui


【解决方案1】:

如果您使用的是Script Assertion,请尝试以下操作:

//Define the file name, change as needed
def fileName = '/path/to/file.xml'

//check if you got the response

if (context.response) {
   log.info 'Response available and not empty'
   def file = new File(fileName)
   if (!context?.alreadySaved) {
       file.write(context.response)
       context.alreadySaved = true
       log.info 'response written to file'
   } else {
     log.info 'Response already written'
   }
} else {
  log.info 'there is no response to save'
}

【讨论】:

  • Liam,您有机会尝试上述解决方案吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-12
  • 2018-04-23
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多