当前位置: 首页 > 知识库问答 >
问题:

用于读取xml文件并使用文件内容更新下一步请求的Groovy脚本

梁宪
2023-03-14

要求:从文件夹中读取xml文件,并将文件内容传递给Soap请求。

问题我正在尝试使用groovy脚本读取保存在文件夹中的文件,但无法读取文件的内容。我在尝试打印xml文件的内容时遇到空指针异常。

def fileList = []
new File("C:\\Users\\Documents\\Groovy Scripts\\requests").eachFile
{ f ->
if (f.isFile()&& f.name.endsWith('.xml'))
{
 def filename = f.name[0..-5]
 fileList.add(filename)
 log.info filename

 }
}
if (fileList.size() <1)
{
testRunner.fail("No request files found")
}
context.put('fileList', fileList)

def f = new File("C:\\Users\\Documents\\Groovy Scripts\\requests\\${context.fileList}.last().text")
log.info f

根据评论更新,增加问题。

我的测试用例包含3个步骤。第1步:从文件夹中读取xml文件。第2步:使用xml文件内容作为肥皂请求输入。第3步:将输出文件夹中第2步的响应保存为xml。

共有1个答案

田冥夜
2023-03-14

可以理解的是,您需要执行数据驱动测试,其中请求保存在目录中。

之前,这里提供了一种循环遍历数据和保存响应的方法。

您现在可能需要的所有更改都在第一步中——读取目录,循环遍历您的文件,将文件内容设置为请求并运行肥皂请求步骤。

Step1的Groovy脚本:

import groovy.io.FileType

//change your input directory name below
def dir = new File('path/to/input/dir')
dir.eachFile (FileType.FILES) { file ->  

   //Get the step
   def step = context.testCase.getTestStepAt(1)
   //Set the file content as test step request
   step.testRequest.requestContent = file.text
   log.info "New request is set for step2 : ${request}"
   //Run the step2
   step.run(testRunner, context)
}
//By now all the orders got executed, now need to exit the step without additionally running step2
//So, jump to step2, index is 2
testRunner.gotoStep(2)

您可以继续使用上面提供的链接中提到的其余步骤。

 类似资料:
  • 我有一个下面的POM文件。我想使用xmlSlurper groovy代码来读取POM文件的特定内容,谁能告诉我如何编写代码来通过groovy xmlSlurper读取特定内容。我想读取下面POM文件中作用域为运行时的那些的groupid工件id、分类器和类型。

  • 问题内容: 我想使用Groovy插件添加一个Build步骤来读取文件并根据文件内容触发构建失败。 如何在groovy插件中注入工作区文件路径? 问题答案: 根据您的评论,使用 Text-finder 插件会更好。 它允许在文件以及控制台中搜索正则表达式,然后设置构建或找到构建。 对于Groovy,可以使用以下命令来访问环境变量:

  • 我正在编写一个java代码,它利用Apache-poi读取ms-office.doc文件,利用itext jar API创建并写入pdf文件。我已经阅读了.doc文件中打印的文本和表格。现在我正在寻找一个读取文档中写入的图像的解决方案。我已经编写了如下代码来读取文档文件中的图像。为什么这段代码不起作用。 存在的问题是:1。条件if(Picture.HasPicture(run))不满足,但文档具有

  • 嗨,我的groovy脚本从文件中剥离xml标记并写入文件。 我的问题是我如何编写它,以便它通过整个目录,在多个xml文件上执行它,并创建多个输出,因为它现在是硬编码的。(“C:\sample.xml”和“C:\ouput.txt”) 谢谢 利昂

  • 本文向大家介绍java遍历读取xml文件内容,包括了java遍历读取xml文件内容的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了java遍历读取xml文件内容的详细代码,分享给大家供大家参考,具体内容如下 再分享一例: 用JAVA读取XML文件 解析XML的步骤如下:   1.创建DocumentBuilder工厂   2.创建DocumentBuilder对象   3.Document

  • 问题内容: 我可以使用Groovy脚本获取响应xml。我需要获取请求XML,因为我需要在soap ui测试中添加“断言脚本”。 我正在使用以下代码来获取响应xml 但是我不确定如何获取SOAPUI的请求xml。谁能帮我获得SOPAUI的请求xml吗? 问题答案: 要以字符串形式获取请求内容,可以使用 有关SoapUI API的更多信息,请访问http://www.soapui.org/apidoc