Karate API:将变量传递到其他功能文件不起作用

2023-12-14

我从传递 url、用户名和密码的其他功能文件中调用登录功能文件,但它对我不起作用。我在这里没有使用背景键,我也不想使用。

 @CallAnotherFeature
 Feature: Call Login Feature

 Scenario: Calling Login Test
 * def config = { endPointURL: 'https://qa1.testurl.com/login',username: 'user123', password: 'password123' }
* def result= call read('Login.feature') config
* print result.response
* print 'Sign In-'+signIn
* print 'Sign In Reponse-'+signIn.response


Feature:  Login Feature

Scenario: Test Login for different users

* print 'Starting Test','#(endPointURL)'
Given url '#(endPointURL)'
* print 'user name','#(username)'
* print 'Password ','#(password)'
#And form field username = '#(username)'
#And form field password = '#(password)'
And request { username: '#(username)', password: '#(password)'}
When method post
Then status 200
* print response
* match response.loginSuccess == true

在 Login.feature 中,我也尝试将用户名和密码作为表单数据传递,即使这些不起作用。有人可以告诉我我在这里犯了什么错误吗?

我正在使用最新的空手道版本 0.9.0


我在您的脚本中发现了一些问题,

1. 通话登录功能

1.1) 我没看到signIn变量在此功能的任何位置初始化,也不是从您的login feature但你正在尝试打印它。

1.2) =应放置正确;)

* def result = call read('Login.feature') config

2. 登录功能

2.1)我认为您误解了嵌入式表达式的概念。仅当将其模板化为 JSON 时,您才可以使用它。但要调用它,您可以简单地使用变量名称。

eg.

Given url endPointURL
And form field username = username
And request { username: '#(username)', password: '#(password)'}

NOT

Given url '#(endPointURL)'
And form field username = '#(username)'

如果您从这里阅读空手道文档,我会更清楚地告诉您 ->空手道博士并参考空手道演示

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

Karate API:将变量传递到其他功能文件不起作用 的相关文章

  • Karate UI:通过 CSS 定位文本

    我经常遇到空手道看不到的奇怪的可见页面文本 可能是由于一些我不完全理解的时髦 JS 魔法 Example image shows text on the page generated after clicking on a translat
  • @karate如何将参数传递给加特林模拟类中的特征文件?

    让我们考虑一个场景 我们必须运行 创建帐户 api 的性能测试 该测试将输入作为标头 路径参数 Auth token 并输入诸如用户帐户名称之类的数据 因此 对于上述场景 我们有 2 个功能文件 运行 POST 性能测试http baseU
  • 将 Json 传递给 karate-config.js 文件

    我有超过 6 个环境 我必须在这些环境中运行同一组 REST API 脚本 因此 我将所有测试数据和端点 资源路径存储在 json 文件中 然后 我尝试将此 json 文件读入我的 karate config js 文件 这是因为我想获取与
  • 空手道——并行执行失败[重复]

    这个问题在这里已经有答案了 我观察到 当我使用 Runner parallel getClass 1 在 Maven 构建中运行测试 功能文件 时它工作正常 但是当我增加像 Runner parallel getClass 5 这样的线程数
  • 如何创建动态路径组件并结合重试直到

    我有一个用例 我需要首先调用 API 来获取 ID 列表 从该响应中选择一个随机 ID 接下来 我调用第二个 API 它使用随机 ID 作为路径中的组件 第二个 API 调用可能会返回空响 应 因此我想利用retry until但在每次重试
  • 如何通过黄瓜空手道项目进行调试

    我继承了一个Java Maven Cucumber项目 我对黄瓜相当陌生 在其中一个文件夹中我有一堂这样的课程 import com intuit karate junit4 Karate import org junit runner R
  • 如何在空手道框架中使用“faker”库?

    我想使用 faker 库在 JSON 文件中生成虚假数据 如下所示 在 karate config js 中 我执行以下操作 var faker require faker 在示例 json 中 firstName faker name f
  • 如何处理空手道测试中的签名请求?

    首先 感谢构建空手道 它对于测试 API 和 UI 非常有用 我们正在使用它来测试许多端点 但我们想知道是否有一种方法或哪种方法是处理带有签名作为标头中请求的一部分的请求的最佳方法 在我们的例子中 我们有两个标头 ApiKey 这个值总是相
  • 过滤空手道测试响应对象以获得子列表?

    鉴于此功能文件 Feature test Scenario filter response def response a a b a c a d ab e ab f ab g ac h ac i ac
  • 空手道输出表中的效率字段代表什么?效率比什么?

    我想知道控制台空手道输出表中的效率字段代表什么 我执行测试后看到它的值为 0 98 因此效率为 98 但与什么相比呢 我想似乎之前没有人提出过这个问题 简单搜索源 https github com intuit karate blob 99
  • 空手道:XML 元素更改为具有空命名空间

    当 xml 消息定义如下时 karate 会向子元素添加空名称空间 空手道功能 Feature test xml Scenario test xml empty namespace def x
  • API 自动化测试:有没有办法通过内容验证来自动化下载场景?

    我的应用程序中有导出到 Excel 的功能 我有一个场景 执行导出到 Excel 验证 API 响应状态和导出的 Excel 内容 使用 Postman 我可以使用 发送和下载 选项以 xlsx 格式保存导出的 Excel 稍后我可以手动验
  • 复杂 json 中的嵌入表达式未正确替换

    在空手道测试中 我们能够替换 json 中单个键的嵌入表达式 但是当尝试替换 json 的复杂键时它不起作用 输入 json integration serviceData integrationService name integrati
  • 如何将全局变量传递到可重用功能类路径?

    我开始使用 Karate 来测试 Web 服务 并且想将全局变量传递到可重用功能文件的类路径 有人有想法吗 提前致谢 这是什么karate config js是为了 参考文档 https github com intuit karate k
  • JUnit 报告在 * eval if (xxx) 之后错过了 karate.call 信息

    我使用 eval if 关键字来处理复杂的逻辑 但是 JUnit HTML 报告错过了 karate call delete user feature 过程 官方例子 eval if responseStatus 200 karate ca
  • 空手道 API 测试 - 转义“?”在功能文件的 url 中

    我正在使用pathKarate API 框架中的关键字用于连接字符串以形成 url 但是 我无法通过 这是我正在做的事情 Background url https api cloud abcde com animal Scenario Ve
  • 如何使用模式验证空手道中的多个可能值

    我目前正在使用 Swagger 模式 它定义了多个值的枚举 我想知道如何针对我的傲慢文件做出回应 我想确保返回的响应值只是架构中指定的值之一 想想 Swagger 中的枚举 如果响应中返回了架构内数组中未定义的任何其他内容 则测试应该失败
  • 我无法获取 JSON 对象的内部值

    我无法获取此 json 对象的内部嵌套键的值 它从我们的 API 调用获取响应 我只是复制空手道的响应 code 200 result distinct false operatetime 2019 05 17 17 01 01 perso
  • 如何在 Karate UI 中使用 javascript 执行器

    首先 空手道 UI 自动化确实是很棒的工具 我在使用空手道编写 UI 测试时有点享受它 我遇到了一种情况 我试图获取 ShadowRoot 元素 我读了一些与空手道的 javascript 执行器相关的类似帖子 并了解到它已经得到解答 推荐
  • 如何使用 KarateOptions 执行多个标签?

    我需要从我的跑步者类中执行多个标签 目前如下所示 KarateOptions tags SMOKE public class TestRunner 我正在使用并行执行 我需要执行类似 tags SMOKE REGRESSION 的操作 我尝

随机推荐