从空手道 0.9.5 升级到空手道 1.1.0.RC3 后出现“org.graalvm.polyglot.PolyglotException:ReferenceError:”[重复]

2024-03-10

描述:升级到空手道 1.1.0.RC3 后收到参考错误消息

脚步: 执行test.feature文件

测试特征

  Scenario: Get custom request
    * def testUtils = call read('classpath:features/utils.feature')
    * def getRequest = testUtils.customRequest()
    * print getRequest 

实用程序.feature

Feature: common utilities

  Scenario: 
    * def randomAlphabetic = function (count) { return org.apache.commons.lang3.RandomStringUtils.randomAlphabetic(count) }

    * def customRequest =
    """
     function() {
     var name = randomAlphabetic(2)
     return {
         name:name,
         city:'Bangalore'
     }
  }
    """

错误信息 :

org.graalvm.polyglot.PolyglotException: ReferenceError: "randomAlphabetic" is not defined
- <js>.:anonymous(Unnamed:2)

Git 存储库供参考 -https://github.com/naveenkrao/karate-sample-project https://github.com/naveenkrao/karate-sample-project


新版本中 JS 函数的重用存在一些限制。有多种解决方法。下面是在 JS 块本身内移动可重用函数的示例:

* def customRequest =
"""
 function() {
 var randomAlphabetic = function (count) { return java.lang.System.currentTimeMillis() + '' };
 var name = randomAlphabetic(2);
 return {
     name:name,
     city:'Bangalore'
 }
}
"""

或者如果你做了randomAlphabetic全局可用的函数,例如通过karate-config.js它也可能有效。

这是我们努力解决的 JS 引擎更改的结果。如果这对您来说是个问题,我们非常欢迎您贡献代码。我们认为不是,有很多方法可以创建可重用的函数,遵循一些规则 - 保持简单,更喜欢 Java 来实现复杂的逻辑,并且不要过多地混合或组合 JS 或 Java。

如果您认为需要更新,也欢迎您贡献文档。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从空手道 0.9.5 升级到空手道 1.1.0.RC3 后出现“org.graalvm.polyglot.PolyglotException:ReferenceError:”[重复] 的相关文章

  • 如何在 JsonPath 过滤器中使用变量

    我尝试在空手道测试中使用 JsonPath 过滤器表达式的 RHS 中的变量 类似于 def name A Name def ids response name name id 如果我使用文字字符串 A Name 在表达式的右侧 它按预期工
  • 空手道跳过从场景大纲中的 CSV 读取的测试用例

    我正在用空手道编写数据驱动测试 我的功能有一个场景大纲 我使用 CSV 文件来加载示例 例如测试用例 是否可以跳过 CSV 文件中的某些行 我不想每次都调用所有测试 假设您有三行 而您只想运行一行 您可以读取 csv 然后使用 JsonPa
  • 如何在空手道中的功能运行之间共享变量?

    我有一个应用程序 通过使用创建一次令牌karate callSingle in my karate config file 然而 这个令牌在一段时间后就会过期 所以我可能需要在一些测试后重新创建它 我的计划是在一个变量中设置创建时间 该变量
  • 如何从空手道中的 api 端点获取下载的 xlsx 文件?

    我有一个下载 xlsx 文件的端点 在我的测试中 我需要检查文件的内容 不是将文件与另一个文件进行比较 而是读取内容并检查 我正在使用空手道框架进行测试 并尝试使用 apache POI 来处理 Excel 工作表 但是 调用下载端点时我从
  • 如何在空手道中使用 FileUtils?

    需要从编码字符串转换生成PDF并将其保存为pdf以进行比较 示例功能文件 Feature Compute All Scenario trial and error call read common feature def xyz getMD
  • 空手道框架和 TestNG

    Karate 框架支持 TestNG 吗 Karate 框架是否会像使用 JUnit 一样为 TestNG 生成任何 json 文件 Karate 曾经支持 TestNG 但现已弃用 这应该不是问题 因为 a Karate 不需要任何 Te
  • 使用远程 Web 测试框架(BrowserStack 和 LambdaTest)时,chrome 上的表单输入条目失败 [重复]

    这个问题在这里已经有答案了 我的测试套件在本地以及使用 Chrome 的 gitlab 管道中运行良好 然而 当在远程测试框架上使用 Chrome 仅 运行它们时 它们会在登录页面上失败 我测试了 BrowserStack 和 LamdaT
  • Karate - 验证存储在不同文件中的 json 响应

    我需要验证存储在两个不同文件中的 2 个 json 响应 我正在阅读它们并进行比较 但我收到一个错误reason all key values did not match并且几乎没有不匹配的元素 仅当我将 json 存储在文件中并读取功能文
  • 将 Json 传递给 karate-config.js 文件

    我有超过 6 个环境 我必须在这些环境中运行同一组 REST API 脚本 因此 我将所有测试数据和端点 资源路径存储在 json 文件中 然后 我尝试将此 json 文件读入我的 karate config js 文件 这是因为我想获取与
  • 如何通过单独的功能文件迭代参数列表?

    如何通过传递 id 列表来迭代它 我在 foo 变量中有多个 id 我想调用删除项目 feature对于该 foo 变量中可用的每个 id 项目 特征 def foo get response data id def del call re
  • 不使用其他特征文件调用的条件

    使用空手道 我想知道是否可以设置 If 条件而无需调用不同的功能文件 并且不使用 JavaScript gt 在条件中使用空手道功能文件代码块 例如应该可以做类似的事情吗 if variable 1 delay 3000 retry cli
  • 如何在空手道加特林中每秒加载更多请求

    我正在尝试重用空手道脚本并使用加特林执行负载测试 定义的场景是每秒加载 50 个用户 持续 10 秒 对 500 个用户进行负载测试 但是 gatting 报告中每秒的请求数不超过 20 个请求 如果我做错了什么 请告诉我 执行空手道脚本的
  • 如何在空手道框架中使用“faker”库?

    我想使用 faker 库在 JSON 文件中生成虚假数据 如下所示 在 karate config js 中 我执行以下操作 var faker require faker 在示例 json 中 firstName faker name f
  • [空手道][独立]错误:无法找到或读取文件

    我只使用最新的独立空手道 jar 在配置了 JRE 的 docker 容器上测试我的 API 并且没有任何 Java 代码 目前 在我的一项功能中 我有这个 read file json 当资源文件与功能文件位于同一目录时 它可以正常工作
  • url 中的空手道框架符号编码

    我有这个 Background url http localhost 15672 api exchanges 2F my exchange Scenario Given path publish 这里的问题是 url 被解析为 http l
  • 无法在 Eclipse 中对空手道模板项目运行 mvn 测试

    我克隆了空手道模板 即https github com karatelabs karate template https github com karatelabs karate template我能够在 Eclipse IDE 上运行测试
  • 我无法理解空手道中的动态数据表场景[重复]

    这个问题在这里已经有答案了 任何人都知道如何使用 csv 文件创建动态数据表 我正在尝试使用文档中定义的代码 但它对我不起作用 The read函数接受csv文件并从 csv 创建一个 json 对象数组 始终需要标题行 并且标题用于创建对
  • 如何在空手道中运行单个场景?

    为了测试空手道的特定功能 我运行 mvn test Dkarate options classpath myfeature feature 有没有办法运行定义到功能中的单个场景 是的 您可以通过标签 https github com int
  • 如何将全局变量传递到可重用功能类路径?

    我开始使用 Karate 来测试 Web 服务 并且想将全局变量传递到可重用功能文件的类路径 有人有想法吗 提前致谢 这是什么karate config js是为了 参考文档 https github com intuit karate k
  • 使用 match every contains 进行 json 数组项断言

    我想在响应数组下的每个项目中添加包含 训练 的技能数组断言 我怎样才能使用匹配每种格式来做到这一点 match each response contains password abc123 不使用 JsonPath 表达式 我预计下面的示例

随机推荐