【问题标题】:Connect Mainframe Using Java/Groovy?使用 Java/Groovy 连接大型机?
【发布时间】:2020-05-19 14:40:54
【问题描述】:

我目前正在处理一个公开的 Web 服务项目。我需要自动化以下过程

Step 1: Connect Mainframe and collect test data from the Mainframe and storing data in xls.
Step 2: Run the Soap Request and Verify that the response is 200
Step 3: Connect Mainframe again and Extract each parameter from Response and validate those against in MF data.

与 Web 服务测试相关,我曾在 Soap UI 上工作过。第 1 步可以是可选的,我可以运行批处理作业来获得它。

第 2 步和第 3 步是否可以在 Soap UI 本身中实现。我正在使用 Rocket Bluezone Emulator 来测试这个..

有一种方法可以让我编写一个 vb 脚本并使用 groovy 调用该 vbscript,这是最少的选择..

有没有其他方法可以让我使用 Java/Groovy 连接 Rocket Bluezone 来实现这一点,而不是单独运行 vbscript。

【问题讨论】:

  • 为什么会被否决?
  • 我没有对此投反对票,但我猜人们会投反对票,因为它非常模糊且没有显示任何具体信息。是的,可以在 Java/Groovy 中进行网络调用或系统调用。但是,您的问题并没有为人们提供足够的信息来提供帮助,而只是说“是的,这是可能的”。
  • 更好的选择是连接到大型机上的数据,如果它位于具有 JDBC 驱动程序的数据库中。也许它是 DB2,那么你可以。听起来您想使用 Groovy -> VBScript -> Emulator -> Data,这是多层复杂性。可能,大概。可取的,没有。

标签: java groovy soapui bluezone


【解决方案1】:

要回答部分问题,您可以从 Groovy 调用 VBScript。

一个脚本:

if WScript.Arguments.Count = 0 then
    WScript.Echo "Missing parameters"
end if

function func(parm)
    Wscript.Echo("You sent " & parm )
    func = "You sent " & parm
end function

func(Wscript.Arguments(0))

你可以像这样调用它,传递一个参数,然后从 Groovy 中获取返回值:

def script = "src/myScript.vbs"
def exe = "C:\\Windows\\System32\\cscript.exe"
def parm = "Hello"
def cmd = "${exe} ${script} \"${parm}\""
def proc = cmd.execute()
def outputStream = new StringBuffer()
proc.waitForProcessOutput(outputStream, System.err)
println outputStream.toString()

希望对您有所帮助。

【讨论】:

  • 感谢您的回答.. 没有 vbscript 我试图通过 Java/Groovy 找出这是否可以实现//
  • 您不会说大型机、CICS、Natural 上的内容是什么。如果可能的话,我真的建议尝试访问数据库。 Rocket Bluezone 可以使用 VBScript 编写脚本,我已经向您展示了如何使用 Groovy 调用它。
  • 谢谢.. 它是 CICS.. 我们没有 DB2。
  • 如果我们有多个函数,它如何识别去哪个函数?
  • 将每个函数放在单独的脚本中。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多