【问题标题】:How to get a value (ex: baseURL) in every Karate feature?如何在每个空手道功能中获取一个值(例如:baseURL)?
【发布时间】:2023-04-02 09:23:02
【问题描述】:

我想为所有功能获取一个公共变量。例如:基本 URL 和路径(在某些功能中)。我不太了解空手道官方教程中的具体操作。 我输入了 user.feature

`Background:
* url urlBase
* path users

在 karate-config.js 中

function() {
  var env = karate.env;
  karate.log('karate.env system property was:', env);
  if (!env) {
    env = 'dev';
  }
  var config = {
    env: env,
    appId: 'my.app.id',
    appSecret: 'my.secret',
    baseURL: 'https://someurl/',
    users: 'users'
  };
  karate.configure('connectTimeout', 5000);
  karate.configure('readTimeout', 5000);
  return config;
}

在我的跑步者课上:

@RunWith(Karate.class)
@CucumberOptions(features = "classpath:features/users/User.feature")
public class TestRunner{
    }
}

User.feature 和 karate-config.js 在同一个文件夹中,而 Runner 类在另一个文件夹中。 这样对吗?还是我需要指定更多内容?

【问题讨论】:

    标签: karate


    【解决方案1】:

    不,这是不对的。我建议你参考空手道的quickstart documentation,在那里你可以生成一个简单的项目。首先运行它,然后尝试从karate-config.js 设置URL。一切顺利。

    【讨论】:

    • 感谢彼得·托马斯的快速回复。我找不到任何问题。我尝试了很多东西,但可能不是正确的。你能给我们一些提示,特别是在功能方面,请。 PS:将第一个答案标记为“已接受”
    • 试试这个:阅读文档。还创建一个快速入门。这是一个有用的教程:blog.testproject.io/2017/08/21/api-testing-karate-framework
    • 我在这里发现了一个问题:semaphoreci.com/community/tutorials/…。但它适用于一个参数(例如:baseUrl)。参数多怎么办?
    • 向 karate-config.js 返回的 JSON 添加更多键 - 就这么简单。如果您仍然遇到问题,请让了解基本 JavaScript 的人查看您的 karate-config.js - 这将解决您的问题。一切顺利:P
    • 我正在使用本教程 github.com/intuit/karate#configuration 从命令行动态获取环境,但我不断收到错误消息,指出我的 url 未定义但当我只使用上面提到的一个时作品。 @nirind 您是否能够动态获取环境(开发、登台、产品等)。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    相关资源
    最近更新 更多