问题标签 [karate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1197 浏览

karate - 如何在读取中使用绝对文件路径

我有不希望它们包含在项目中的资源。我希望能够将它们存储在共享位置并从那里使用它们。有没有办法在空手道中做到这一点?我可以在读取函数中指定绝对路径吗?

以下方法均无效:

Error: Caused by: java.io.FileNotFoundException: D:\Automation\project\myproject\src\test\java\api\component\mycomp\Utils\backup.json(系统找不到指定的路径)

引起:com.intuit.karate.exception.KarateFileNotFoundException:找不到文件:C:/Utils_TP/backup.json,类路径:true

0 投票
2 回答
758 浏览

karate - 如何直接获取空手道特征文件中java类的静态变量的值

我有一个 java 类,它具有应用程序所需的所有 URL。我想在功能文件中访问它。我知道可以通过创建 get 方法来访问它。

可以直接获取吗?

0 投票
1 回答
1620 浏览

javascript - 在空手道 DSL 中,如何在 java 参数调用中传递变量时转义单引号

我正在尝试添加对数据库的调用,作为 API 项目工作中端到端工作的一部分。在断言方法中作为参数传递的变量中,我将如何转义单引号。我尝试了以下方法,但没有奏效。

  • assert JavaClass.executeSQLQuery('SELECT COUNT(*) As Result FROM PartType WHERE reference = 'evaluate';', '1') == true

错误是它无法评估值内的单引号

其他尝试

  • 定义 sqlQuery =

    """ SELECT COUNT(*) As Result FROM PartType WHERE reference = 'updateerferencee'; """

    • 断言 JavaMethods.executeSQLQuery(sqlQuery, '1') == true

错误:见附件在此处输入图像描述

0 投票
1 回答
266 浏览

karate - 从场景内部调用功能文件时失败的测试不显示哪个场景(在被调用的功能中)失败

我通过在场景中调用它来重用功能文件。上下文是我希望拥有一些需要在common.feature文件中测试所有端点的通用功能。然后在endpoint.feature特定端点common.feature的功能文件(

我的common.feature文件如下所示:

我的endpoint.feature文件如下所示:

一切都按预期工作。文件中的场景common.feature被执行。问题是,如果Scenario 1fromcommon.feature失败,我会得到以下结果:

测试错误:* call read('classpath:common/common.feature')(Scenario: test): feature call failed: classpath:common/common.feature(..) Scenario: test: feature call failed: classpath:common /common.feature(..)

空手道没有确切说明哪个场景common.feature失败了。例如,如果我有 20 个场景common.feature,那么很高兴能准确地看到哪些场景失败了。

有没有办法让空手道准确列出被调用功能文件中的哪些场景失败(它在功能文件的正常执行期间显示的方式)?

0 投票
1 回答
773 浏览

karate - 增加一个特征(空手道)

我需要像这个例子一样创建小猫:https ://github.com/intuit/karate/blob/master/karate-demo/src/test/java/demo/calltable/call-table.feature 。但我需要增加名字name1 and age1, name2 and age2, name3 and age3...,而不是把名字和年龄放在表小猫中。我怎么能做到这一点?谢谢

0 投票
1 回答
4665 浏览

unit-testing - 空手道 - 可以将场景置于循环中吗?

我想知道是否可以将场景置于循环中?
想象一下,我有一个场景,我想用列表中的 10 个不同数据对其进行 10 次测试。将整个场景放在一个循环中,甚至在循环中设置场景名称是一个好主意。是否可以?

0 投票
1 回答
122 浏览

karate - 如何在 Java 地图中使用 json 存储

我是新手,我已经将我的 json 请求和响应存储在 java hashmap 中。如何在功能文件中读取并使用它?我正在阅读来自 kafka 的请求和响应,并将其存储在要在空手道中使用的 hasmap 中。

0 投票
1 回答
127 浏览

json - 无法捕获先前的 API 响应并将响应附加到 Post Request API 的 URL

我正在尝试在获得 API 响应的地方发布 API 请求

"d": { "__metadata": { "uri": "http://ev-qa02.zs.local/IncentiveManager/0002i1/wcf/v5.svc/InDataRequestCreators('9f31c6da-ec56-4360-8589-d21b6320f99b' )”,“类型”:“ZSAssociates.Javelin.ETL.Rest.v5.InDataRequestCreator”},“ScenarioId”:“9f31c6da-ec56-4360-8589-d21b6320f99b”,“CallbackUrl”:“”,“DataExpiresOnUtc”:“ /日期(4103913600000)/”,“CreateScenarioIfMissing”:假,“AdapterId”:“0fcbd8d2-f5cb-4e2a-bda8-bb37037b022d”,“InDataRequestIdOut”:“eb36f8a9-5b7d-4835-88f6-4af67830c1e9”,“InDataRequestId:” "/InDataRequests('eb36f8a9-5b7d-4835-88f6-4af67830c1e9')" } }

现在我正在尝试发送另一个 API 请求,其中我的 URL 是 http://ev-qa02.zs.local/IncentiveManager/0002i1/WCF/V5.svc/InDataRequests ('eb36f8a9-5b7d-4835-88f6-4af67830c1e9 ')/文件创建者

*InDataRequests('eb36f8a9-5b7d-4835-88f6-4af67830c1e9') 这个随机数是从上面的响应值“InDataRequestIdOut”生成的

如何附加 URL 以获取先前的 API 响应并添加到我的第二个 POST 请求中。我无法捕获我的响应并在其他 API POST 请求中使用它?如果您能在这里帮助我,我将不胜感激,因为几天以来一直被困在这个问题上,我也浏览了文档和示例,但无法解决这个问题。我也附上了截图。PostUrlFailureScreenshot 我的主要问题是来自 ecipe screenshot 的第 26 和 27 行

在此处输入图像描述

0 投票
1 回答
962 浏览

api - 空手道框架中的 JWT 生成和通用用法

我的场景是我必须使用基本编码对令牌和秘密进行编码,然后通过 API 生成一个 JWT 令牌,这将给出如下响应:

eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmOWJlYmFjYjVhMjE0M2FiYTE1ZWFlMDUyNGFlMjFhYiIsImV4cCI6MTUwOTYwNDQ5OSwianRpIjoiN256WlhqQW9yd2FEVmxnSUZSZHJLQSIsImlhdCI6MTUwOTYwNDQ4NCwibmJmIjoxNTA5NjA0MzY0LCJzdWIiOiJmOWJlYmFjYjVhMjE0M2FiYTE1ZWFlMDUyNGFlMjFhYiJ9.0QCtE5XF-_FxxhjpP2sIEFU8rSnNK5jwD3BBd5oCUGc

然后我们必须在头文件中使用它来进行其余的 API 调用,例如:

那么如何集成它以使该标头对其余的 API 调用通用?

0 投票
1 回答
469 浏览

json - 空手道 - 如何导入像 karate-config.js 这样的 json 文件

我的 karate-config.js 中有这样的 unicode 数据:

当我尝试使用 #(status0persianMessage) 时没关系。
我有另一个文件名 data.json 是这样的:

我像这样导入这个文件:

  • def data = read('classpath:data.json')

但是当我尝试使用#(data.first_name.first) 时,我的数据是:?????。
如何像 karate-config.js 一样导入我的 data.json?