通过 Runner 运行包含云端数据库连接配置的测试场景

通过 Runner 运行包含云端数据库连接配置的测试场景

使用云端数据库连接配置的优点

没有云端数据库连接配置功能时,如果需要在 Runner 中运行一个带有数据库操作的测试场景,需要完成以下步骤才可正常运行:

  • 在 CI/CD 产品界面上发现导出数据库连接配置入口,点击导出成文件;
在 CI/CD 产品界面上发现导出数据库连接配置入口
  • 将导出的数据库连接配置文件放入 Runner 运行机器的指定挂载目录中。这个挂载目录是部署 Runner 时设置的;
将导出的数据库连接配置文件放入 Runner 运行机器的指定挂载目录中


虽然整体前置工作不多,但是涉及到 Runner 挂载目录配置,如果没有设置此目录还得重新部署 Runner,上手成本还是略高的。如果使用了云端数据库连接配置,则可以完全省去导出配置文件、设置挂载目录、放入 Runner 执行机器对应挂载目录中的这些工作,只需要给云端数据库连接配置中的变量设置好实际的值即可成功运行,让体验得以提升。以下是两种方法来使用云端数据库连接配置。

使用本地值 + 云端数据库连接配置

如果你需要运行的测试场景中,所有数据库连接使用的配置全部都是保存在云端的配置,则 Runner 运行时可以直接从云端拿到数据库连接配置中所需要的变量,并根据变量替换规则去找到实际变量值,来发起连接。以下是具体示例:

1. 在环境管理中,将数据库连接的实际值设置在了对应变量的本地值中。每个需要使用的环境都设置好。

将数据库连接的实际值设置在了对应变量的本地值中


2. 确保你的数据库连接配置,除端口外完全使用了变量形式,这样就是保存成了云端数据库连接。

保存成了云端数据库连接

3. 确保你要使用 Runner 运行的测试场景中,都使用的“云端数据库连接配置”,即使用变量保存的配置。

云端数据库连接配置


4. 如果你是使用客户端直接手动触发 Runner 运行此测试场景,则需要指定一个 Runner,并设置环境/全局变量使用保存在 Runner 中的测试场景本地值。

指定一个 Runner


5. 点击出现的检查变量入口,将环境管理中的数据库连接相关环境变量和值复制填入保存在 Runner 中的测试场景本地值,可以使用批量编辑填入。

相关环境变量和值复制填入


6. 点击运行,收到 Runner 运行完成上传的报告,可以看到报告详情中包含数据库操作的信息。

收到 Runner 运行完成上传的报告


7. 如果你是使用定时任务来让 Runner 运行此测试场景,则需要在此测试场景的详情设置中,设置环境/全局变量值使用保存在 Runner 中的本地值,并选择一个合适的变量范围。

设置环境/全局变量值使用保存在 Runner 中的本地值


8. 点击范围下出现的检查变量入口,将环境管理中的数据库连接相关环境变量和值复制填入保存在 Runner 中的测试场景本地值,可以使用批量编辑填入。

使用批量编辑填入


9. 保存这个定时任务,等到定时触发或手动立即运行,收到 Runner 运行完成上传的报告,可以看到报告详情中包含数据库操作的信息。

定时任务触发或手动立即运行
‼️
虽然数据库连接配置中的变量,使用远程值即可避免要设置使用 Runner 保存的本地值、再次填写数据库连接配置的实际值并保存到 Runner 中的额外操作,也可以在 Apifox 客户端中直接更改远程值,但会有数据安全风险❌ 不推荐使用

如果你在连接配置中全部或部分(除端口字段外)使用了明文,则仍需要导出配置文件,并放入 Runner 所在机器的挂载目录中来使用。❌ 不推荐这种用法


使用 Vault 变量 + 云端数据库连接配置

如果你使用了:环境变量远程值 + Vault 变量的方式,维护好了云端的数据库连接,那么如果你想在 Runner 中使用这个已保存在云端的链接,则可以按照以下步骤来使用:

1. 在环境管理中,将数据库连接的 Vault 变量设置在了对应变量的远程值中,本地值保持跟随远程值。每个需要使用的环境都设置好。

将数据库连接的 Vault 变量设置在了对应变量的远程值中


2. 确保你的数据库连接配置,除端口外完全使用了变量形式,这样就是保存成了云端数据库连接。

确保你的数据库连接配置


3. 确保你要使用 CLI 运行的测试场景中,都使用的“云端数据库连接配置”,即使用变量保存的配置。

使用“云端数据库连接配置”

4. 在 Runner 部署时,使用 -e APIFOX_VAULT_vault=xxx 命令,即可在 Runner 中使用保存数据库连接配置的 Vault 变量。如果已经部署了,可以停止并删除容器后,进行重新部署。具体示例命令如下:

docker pull registry.cn-hangzhou.aliyuncs.com/apifox/self-hosted-general-runner && \
docker run --name apifox_general_runner \
  -e TZ=Asia/Shanghai \
  -e SERVER_APP_BASE_URL=https://api.apifox.cn \
  -e TEAM_ID=123456 \
  -e RUNNER_ID=123456 \
  -e ACCESS_TOKEN=123456 \
  -e APIFOX_VAULT_testDbHost=127.0.0.1 \
  -e APIFOX_VAULT_testDbUsername=root \
  -e APIFOX_VAULT_testDbPwd=123456 \
  -e APIFOX_VAULT_prodDbHost=127.0.0.1 \
  -e APIFOX_VAULT_prodDbUsername=root \
  -e APIFOX_VAULT_testDbPwd=123456 \
  -p 80:4524 \
  -d registry.cn-hangzhou.aliyuncs.com/apifox/self-hosted-general-runner


5. 如果你是使用客户端直接手动触发 Runner 运行此测试场景,则需要指定已设置好 Vault 变量的 Runner,并设置环境/全局变量使用远程值。

指定已设置好 Vault 变量的 Runner


6. 点击运行,收到 Runner 运行完成上传的报告,可以看到报告详情中包含数据库操作的信息。

收到 Runner 运行完成上传的报告


7. 如果你是使用定时任务来让 Runner 运行此测试场景,则需要在此测试场景的详情设置中,设置环境/全局变量值使用远程值。等到定时触发或手动立即运行,收到 Runner 运行完成上传的报告,可以看到报告详情中包含数据库操作的信息。

到报告详情中包含数据库操作的信息
‼️
涉及到多环境数据库连接都要让 Runner 运行,则注意在使用 -e 注入 Vault 变量时需要把每个环境的数据都写上。

注意指定运行的 Runner,要是你在部署时使用了 -e 并注入 Vault 变量的同一个 Runner。

延伸阅读

通过 CLI 运行包含云端数据库连接配置的测试场景
通过 CLI 运行包含云端数据库连接配置的测试场景相关内容,介绍了使用云端数据库连接配置的优点及两种使用方法。
轻松与他人协同使用数据库连接配置
本文讨论了 Apifox 实现云端储存数据库连接配置的具体操作、注意事项及使用 Vault 变量保存配置的方法等内容。
订阅
qrcode

订阅

随时随地获取 Apifox 最新动态