在 SoapUI 测试用例中使用 Excel DataSink 和 VLOOKUP 的替代方案?

Alternative to using Excel DataSink with VLOOKUP in SoapUI Test Case?

我目前在 SoapUI NG Pro 中有以下测试用例,目的是在数据库 table(产品)中创建新记录,其中包含另一个 table(产品类型)的外键.我目前的测试设置如下:

  1. JDBC 检索 ProductType 中记录的 ID 和描述的数据源 table
  2. 将这些 ID 和描述保存到 sheet 中的 Excel 工作簿的 DataSink 1. 在 sheet 2 中,我有一个要使用的产品名称和产品类型列表在POST。然后我使用 VLOOKUP 根据 sheet 1
  3. 中的值填充 sheet 2 中的 ProductTypeId
  4. 数据源循环
  5. Excel 从工作簿 sheet 2
  6. 中提取的数据源
  7. POST 使用数据源中的名称和 ProductTypeId 值的 REST 请求
  8. 数据源循环

这目前效果很好,但我有 2 个问题:

  1. SoapUI 项目使用 Visual Studio 进行版本控制,Excel 工作簿确实应该与项目一起签入,但这意味着我需要签出 Excel 工作簿每次我想 运行 DataSink 步骤。
  2. 当项目移动到另一个环境时,服务器可能没有Excel
  3. 的实例

因此我想将所有数据源都包含在 SoapUI 中(例如使用 Grid 类型)

我试过使用 Grid 数据源和使用 属性 传输步骤,但我被卡住了。

遗憾的是,我以前没有任何编写 groovy 脚本的经验,对 XPath 只知道一点点。

我正在使用 SoapUI NG Pro 2.0。

如有任何想法,我们将不胜感激!

不使用 Excel,而是使用数据库。尝试在循环中添加另一个 jdbc 步骤来进行查找...

  1. JDBC 检索 ProductType 中记录的 ID 和描述的数据源 table
  2. JDBC 根据步骤 1 中的当前 Product.ProductType 查找 ProductType.Id 的步骤。
  3. POST REST 请求。从步骤 1 中获取产品名称和产品类型,从步骤 2 中获取产品类型 ID。
  4. 循环

我不知道数据步骤的大小,所以第 2 步在性能方面可能有点昂贵,但好处是您不需要任何 Groovy 脚本,也不需要您需要在您的项目或文件中存储任何测试数据。