首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在空手道DSL测试中使用环境变量

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

Stack Overflow用户
提问于 2018-10-15 15:49:08
回答 1查看 9.9K关注 0票数 4

我想将GitLab CI集成到Karate测试中。我想用不同的用户名和密码循环我的测试,以确保我们的API端点能够正确地响应不同的用户。

考虑到这一点,我希望能够将用户名和密码作为安全环境变量存储在GitLab中(而不是以纯文本形式存储在karate-config中),并让Karate根据需要从karate-config或特性文件中提取它们。

仔细看一下docs和StackOverflow问题,我还没有看到这样做的例子。

使用新信息进行更新

关于彼得下面的评论,这正是我所需要的,我试图把它设置如下:

在空手道配置中设置客户端id:

var client_id = java.lang.System.getenv('client_id');

在实际的config对象中:

clientId: client_id

在我的功能文件中试图访问它:

* def client_id = clientId

不幸的是,它仍然是空的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-15 16:43:02

可以使用karate.properties读取空手道中的环境变量,

例如,

代码语言:javascript
复制
karate.properties['java.home']

如果这可以帮助您读取在gitlab上安全保存的环境变量,那么您可以在空手道配置中使用它进行身份验证。

但是如果你有太多的用户,你的配置和环境变量看起来会很麻烦。

如果您想使用多个用户运行一些功能,我建议您查看这篇文章,

Can we loop feature files and execute using multiple login users in karate

编辑:

按照peter的建议,使用java互操作:

代码语言:javascript
复制
var systemPath = java.lang.System.getenv('PATH');

要查看哪些变量实际上是公开的,请尝试,

代码语言:javascript
复制
var evars= java.lang.System.getenv();
karate.log(evars);

并查看所有环境变量的列表。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52820409

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档