【问题标题】:How to get the command line logs in SoapUI using groovy script?如何使用 groovy 脚本在 SoapUI 中获取命令行日志?
【发布时间】:2022-10-17 14:23:00
【问题描述】:

我正在使用 groovy 脚本从 SoapUI 应用程序运行 exe。下面是我从社区获得的代码 sn-p,它对我有用。

(https://community.smartbear.com/t5/SoapUI-Open-Source-Questions/SOAPUI-Groovy-to-run-exe-files/td-p...)

但是我没有在 SoapUI 中获得任何命令行执行的更新/进度。

有人可以帮我解决这个问题。我需要使用 groovy 脚本在 SoapUI 中获取整个命令行日志

import java.io.InputStreamReader
ProcessBuilder pb = new ProcessBuilder("cmd","/c","C:\\dummy.exe")
pb.redirectErrorStream(true)
Process p = pb.start()
InputStreamReader isr = new InputStreamReader(p.inputStream)
char[] cbuf = new char[1024]; //read 1024 characters, increse to higher amount if necessary
isr.read(cbuf);
log.info(new String(cbuf))

【问题讨论】:

    标签: java api groovy automation soapui


    【解决方案1】:

    我在 SoapUI 中使用 Groovy 脚本测试步骤这样做:

    def command = "cmd /c dir C:"
    def proc = command.execute()
    def outputStream = new StringBuffer()
    proc.waitForProcessOutput(outputStream, System.err)
    def result = outputStream.toString()
    log.info result
    

    【讨论】:

      【解决方案2】:
      import java.io.InputStreamReader
      ProcessBuilder pb = new ProcessBuilder("cmd","/c","C:\dummy.exe > C:\logfile.txt")
      pb.redirectErrorStream(true)
      Process p = pb.start()
      InputStreamReader isr = new InputStreamReader(p.inputStream)
      char[] cbuf = new char[1024]; //read 1024 characters, increse to higher amount if necessary
      isr.read(cbuf);
      log.info(new String(cbuf))
      

      日志将保存在 logfile.txt 文件中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-03-15
        • 1970-01-01
        • 2016-08-14
        • 2015-12-19
        • 2018-02-05
        • 2010-12-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多