【问题标题】:Groovy Reading and using data from .csv file in SoapUIGroovy 在 SoapUI 中读取和使用 .csv 文件中的数据
【发布时间】:2017-02-27 15:58:04
【问题描述】:

我是 groovy 脚本的新手,但我想做的却是行不通。 我尝试做的是:

  • 读取 .csv 文件
  • 将 .csv 文件中的数据添加到我可以在 XML 中使用的变量中(例如

test.csv 姓名年龄 测试仪,20 Java,30

在 XML 中名为 name 的变量中使用 Tester,在名为 20 的变量中使用 30)

我使用哪些软件/jar文件:

  • OpenCSV v3.9 jar 文件添加到 SoapUI 目录:bin/ext

  • GroovyCSV v1.1 jar 文件添加到 SoapUI 目录:bin/ext

  • SoapUI 5.2.1.

我在 Google 上搜索了如何执行此操作,并使用以下代码尝试使其正常工作:

   @Grab('com.xlson.groovycsv:groovycsv:1.1')
import static com.xlson.groovycsv.CsvParser.parseCsv

def csv = '''Name,Lastname
Mark,Andersson
Pete,Hansen'''

def data = parseCsv(csv)
for(line in data) {
    println "$line.Name $line.Lastname"
}

这是我用来查看是否一切正常但我收到以下错误代码:

java.lang.noclassdeffounderror: org/apache/ivy/core/settings/Ivysettings

我在谷歌上搜索过,但找不到好的解决方案,请指教。

【问题讨论】:

  • 如果您已将 groovyCSV(和所有依赖的 jar)放入类路径中,则不需要 @Grab

标签: csv groovy soapui


【解决方案1】:

soapui 的类路径中缺少依赖项。

只需下载IvySetting并复制到SOAPUI_HOME/bin/ext目录下并重启soapui,然后重试即可。

编辑:基于 cmets。

  • 获得了 SoapUI 5.2
  • this archive 提取并复制opencsv2.3.jar 到SOAPUI_HOME/bin/ext
  • here复制groovycsv-1.1.jar
  • 重新启动 SOAPUI。

能够运行以下脚本:

import static com.xlson.groovycsv.CsvParser.parseCsv

def csv = '''Name,Lastname
Mark,Andersson
Pete,Hansen'''

def data = parseCsv(csv)
for(line in data) {
    println "$line.Name $line.Lastname"
}

opencsv 3.9 已将包装结构更改为不同的问题。因此,最好坚持使用xlson 文档。

【讨论】:

  • 我已经尝试过了,但仍然得到完全相同的错误。在 SOAPUI_HOME/bin/ext 目录中,我现在得到了 3 个 jar 文件:opencsv3.9、ivy2.4 和 groovycsv1.1
  • 你看过 xlson 的自述文件了吗?版本可能不兼容。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多