karate相关内容

空手道 - 从 <a> 获取 URL使用 Javascript 的元素

使用空手道,我需要从标签 (href) 中提取 url.我已经在浏览器中直接使用 Javascript 进行了尝试: document.querySelector('a[rel="noopener"]').href 它在浏览器中运行良好,我收到完整的 url 地址(“https://XXXXXXXX").然后我想把它放到空手道上: * def emailLink =“"“"功能(){var ..
发布时间:2022-01-14 17:41:53 其他开发

空手道 - 有没有办法将新的 json 键/值对添加到键相同但值不同的现有 JSON 对象?

我是 JavaScript 和空手道的新手.这本身可能不是一个以空手道为中心的问题,但是,我想知道这个解决方案是否可以在空手道本地完成. 我已经查看了此处的现有问题,但由于我的独特输入,它们似乎不太可能起作用.这个答案看起来很有希望,但对我来说并不奏效:使用空手道将新的键值对添加到 json 中 我有一个 JAVA 方法,它为 POST 调用生成一个由 JSON 对象(其中有一个辅助 ..
发布时间:2022-01-14 17:41:26 其他开发

空手道 - 任何不丑陋的方式来发送每个请求正文字段的格式错误请求的 API 请求?

我有一个奇怪的问题,我已经有了解决方案,但它非常难看.我想知道是否有更好的方法通过空手道或 JS 来做到这一点.我在这两个方面都是新手,所以请多多包涵. 我正在发送一个带有相当大的请求正文(总共 19 个字段)的 POST 调用.我必须有目的地为每个字段发送格式错误的请求,而不是为键输入合法值,而是放入垃圾值(或完全删除值)并确保按预期返回 400. 例如请求正文如下(为便于说明而缩短 ..
发布时间:2022-01-14 17:40:46 其他开发

空手道自动设置 Content-Type 标头

美好的一天!在我的负面测试用例中,我必须 PUT 一个没有 Content-Type 标头的请求,以匹配所需的 4xx 状态代码.问题是空手道会自动设置适当的 Content-Type.例如.当我将 {} 作为请求传递时,它会设置 application/json;字符集=UTF-8当我将 '' 作为请求传递时,它会设置 text/plain;charset=UTF-8 问题是如何发送没有 ..
发布时间:2022-01-14 17:39:07 其他开发

如何将 util java 类重用到其他空手道项目中?

我正在使用空手道框架来测试我的休息服务,它工作得很好,但是我有服务消耗来自 kafka 主题的消息然后坚持 mongo 最终通知 kafka.我在我的空手道项目中创建了一个 java 生产者,它由 js 调用以供功能使用.然后我有一个消费者来检查消息 特点: * def kafkaProducer = read('../js/KafkaProducer.js') JS: 函数(kaf ..
发布时间:2022-01-14 17:13:48 Java开发

在空手道中为数组响应断言和使用条件

我有一个请求,它以两种可能的结构返回响应列表,具体取决于“状态". {“列表大小":2,“项目列表":[{“身份证":,“姓名":“",“提交时间":“",“参考":空,“状态":“已收到",“响应":空},{“id":12345,“提交时间":“",“参考":空,“状态":“失败",“响应":{“xml":“",“表单错误":[{“error_type":“",“error_location" ..
发布时间:2022-01-14 17:10:26 其他开发

空手道:使用数据驱动的嵌入式模板方法进行 API 测试

我想编写数据驱动的测试,传递从外部文件 (csv) 读取的动态值.能够从 csv 传递简单字符串的动态值(下面的帐号和附属 ID).但是,使用嵌入式表达式,如何从 csv 文件中为下面的“DealerReportFormats"json 数组传递动态值? 非常感谢任何帮助! 场景大纲:经销商动态请求给定路径'/dealer-reports/retrieval'并请求读取('../Deale ..
发布时间:2022-01-14 17:09:12 其他开发

空手道:空手道中是否有一个 http-request 钩子,它在每次 API 调用后自动调用,我可以修改谁的行为?

我想要一个通用的实现来编写:request-body、request-method &response-body 到我在任何空手道功能文件中发出的所有 HTTP 请求的输出文件. 我已阅读文档,发现最接近的选项是 afterScenario钩.但是,如果我想在同一场景中进行多个 API 调用,这对我没有帮助. 我还尝试通过将 karate.prevRequest 对象传递给我编写的 j ..
发布时间:2022-01-14 17:07:47 其他开发

在空手道 DSL 测试中使用环境变量

我想将 GitLab CI 合并到我的 Karate 测试中.我想使用不同的用户名和密码循环执行我的测试,以确保我们的 API 端点正确响应不同的用户. 考虑到这一点,我希望能够将用户名和密码作为安全环境变量存储在 GitLab 中(而不是在 karate-config 中作为纯文本)并让 Karate 根据需要从 karate-config 或功能文件中提取它们. 查看文档和 Sta ..
发布时间:2022-01-10 10:43:38 其他开发

空手道模拟 - 如何匹配请求正文内容

对于空手道,我正在尝试研究如何根据请求正文的内容返回不同的模拟响应. 我有 特点:...场景:pathMatches('/users/login') &&methodIs('post') &&请求 == {“用户名":“好用户",“密码":“好密码"}* 定义响应状态 = 200* def response = {“状态:登录正常"}场景:pathMatches('/users/login ..
发布时间:2022-01-08 22:10:47 其他开发

匹配流

我有一个功能,我们称之为 F1,它返回一个和两个流相同的文件: * def aPdf1 = read('classpath:pdf.pdf')* def aPdf2 = read('classpath:pdf.pdf')* def out = { 一:aPdf1,二:aPdf2 } 当我从另一个功能调用 F1 时,比如说 F2,并比较流,它们不匹配: * def out = call rea ..
发布时间:2022-01-07 20:28:34 其他开发

Karate-afterFeature - 主要特征文件不能使用 Karate-afterFeature 调用另一个特征文件

我对空手道 afterFeature 配置有疑问. 我想在每个场景之后从单独的功能文件中调用清理步骤.因此,我配置了一个 afterFeature js 函数,它应该使用 karates call 函数调用该清理功能. callonce 在前面的步骤中工作正常,但我对 afterFeature 有问题. 这是我如何配置afterFeature的代码: * def result ..
发布时间:2022-01-04 11:13:31 其他开发

在空手道和放心之间选择

尝试在 Karate 框架和 Rest Assured 之间进行选择,以实现 API 自动化,其中包括 Rest API 和 GraphQL.我们也可以增强框架来执行 UI 自动化 我已经经历了寻找的一般过程: Karate 是为 GraphQL 设计的:https://stackoverflow.com/a/47469363/143475 空手道和 REST-assured 的 ..
发布时间:2022-01-04 10:42:12 其他开发

查询中的空手道 graphql 变量

我正在尝试在 graphql 查询中插入先前定义的变量,但除了在查询文本之外创建变量然后使用变量发出请求之外,我找不到任何关于如何执行此操作的示例. 例如在这个例子中对我来说有一个问题 queries: [{type: TERM, match: EQUAL, field: "fieldOne", value: "#(id)"},{类型:TERM,匹配:EQUAL,字段:“fieldTwo" ..
发布时间:2022-01-04 10:41:19 其他开发

空手道框架 - 如何检查匹配中的条件 OR 包含响应

我正在尝试使用匹配包含来验证我的架构响应和数据类型,例如,有时它返回一个空值,有时它会返回一个字符串.我正在尝试以下操作,但我的断言失败了,因为它没有评估为真. 我正在尝试以下操作: * 匹配每个 $response.data.Results 包含"""{"providerID": '#number',"firstName": "#? _ == '#string' || _ == '#nu ..
发布时间:2022-01-04 10:38:48 Java开发

如何从空手道的api端点获取下载的xlsx文件?

我有一个下载 xlsx 文件的端点.在我的测试中,我需要检查文件的内容(不是将文件与另一个文件进行比较,而是读取内容并检查).我正在使用空手道框架进行测试,并且我正在尝试使用 apache POI 来处理 Excel 表.但是,我在调用下载端点时从空手道得到的响应是一个字符串.要使用 POI 创建 excel 文件,我需要一个 InputStream 或实际文件的路径.我已经尝试过转换,但它不起作 ..
发布时间:2022-01-02 16:30:19 其他开发

如何在空手道上集成 socket.io

我知道空手道内置了对 WebSocket 的支持,但无论如何可以在空手道上使用 socket.io? 我想将消息发送到与 socket.io 通信的微服务中,并等待响应以断言消息符合预期. 解决方案 不,您不能使用来自 Karate 的任意 JavaScript 库,而且通常永远不需要. 编辑:如果你解释你到底想做什么(你可以编辑你的问题),这将使讨论更有成效.空手道是一个测试 ..
发布时间:2021-12-30 21:49:09 其他开发