空手道2.0在集中式数据输入的JS迁移解决方案中不支持空手道关键字

Karate 2.0 不支持在 JavaScript 中使用 Karate 关键字 - 针对以下场景有什么替代方案吗?

背景:

我目前在 UI 和 API 自动化中都使用 1.4.1 版本。我发现了一种很棒的方法,就是使用 karate.map(jsonData, jsFunction) 来外部化 UI 数据。以下是伪代码:

  1. jsonData : [ { "locator": "#user", "value": "smith", "type": "input" }, { "locator": "#password", "value": "helpme:)", "type": "input" } ]

2. jsFunction(作为一个场景编写)

  
function dataInput(x) {
  if (x.type === "input") {
    input(x.value);
  } else if (x.type === "select") {
    // select.....
  }
}
  

3. 从主特性中调用 -

  
def data = read jsonData
def function = read the jsFunction

karate.map(data,function)
  

上述代码为我所有的场景提供了出色的集中式数据输入功能,很好地支持了数据驱动的方法。如果数据是一个数组,执行甚至会在循环中进行,这真的很棒!

问题:Karate 2.0 不支持在 JavaScript 函数中使用 Karate 关键字。成都长风云Drupal开发团队想知道如何将上述工具迁移到 Karate 2.0 ?是否可以在 karate.map 中传递一个“场景”作为第二个参数,以便根据数据在循环中执行?

Drupal开发Drupal模块开发以及Drupal升级的过程中,我们可能会遇到各种技术问题,就像这次在Karate版本升级中遇到的问题一样。特别是在Drupal11即将到来的情况下,我们需要不断探索和解决新的技术挑战。