我想将其纳入GitLab CI我的Karate测试中。我想使用不同的用户名和密码循环进行测试,以确保我们的 API 端点正确响应不同的用户。
考虑到这一点,我希望能够将用户名和密码存储为安全环境变量GitLab(而不是karate-config纯文本),并Karate根据需要从karate-config或 功能文件中提取它们。
浏览文档和 StackOverflow 问题,我还没有看到正在完成的示例。
更新新信息
关于彼得下面的评论,这正是我所需要的,我尝试将其设置如下:
在空手道配置中设置客户端 ID:
var client_id = java.lang.System.getenv('client_id');
在实际的配置对象中:
clientId: client_id
在我的功能文件中尝试访问它:
* def client_id = clientId
不幸的是,它仍然显示为空。
您可以使用 karate.properties 读取空手道中的环境变量,
例如,
karate.properties['java.home']
Run Code Online (Sandbox Code Playgroud)
如果这可以帮助您读取安全保存在 gitlab 上的环境变量,那么您可以在 karate-config 中使用它进行身份验证。
但是如果您有太多用户,您的配置和环境变量会看起来很麻烦。
如果您想与多个用户一起运行一些功能,我建议您查看这篇文章,
编辑:
按照 peter 的建议使用 java interop:
var systemPath = java.lang.System.getenv('PATH');
Run Code Online (Sandbox Code Playgroud)
看看哪些变量实际上被公开了,尝试,
var evars= java.lang.System.getenv();
karate.log(evars);
Run Code Online (Sandbox Code Playgroud)
并查看所有环境变量的列表。
| 归档时间: |
|
| 查看次数: |
16661 次 |
| 最近记录: |