当前位置: 首页 > news >正文

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

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

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

  • 在 CI/CD 产品界面上发现导出数据库连接配置入口,点击导出成文件;

  • 将导出的数据库连接配置文件放入 Runner 运行机器的指定挂载目录中。这个挂载目录是部署 Runner 时设置的;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. 在环境管理中,将数据库连接的 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,并设置环境/全局变量使用远程值。

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

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

涉及到多环境数据库连接都要让 Runner 运行,则注意在使用 -e 注入 Vault 变量时需要把每个环境的数据都写上。

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

相关文章:

  • 基于 C# 开发视觉检测系统项目全解析
  • 【微服务架构】SpringCloud Alibaba(五):服务容错 Sentinel(降级规则、热点规则、授权规则、系统规则、集群规则)
  • QML 批量创建模块 【Repeater】 组件详解
  • k8s 1.30 安装ingress-nginx
  • 解决网络异常 repo sync 中断下载的问题
  • java 发送邮件功能
  • 吾爱置顶软件,吊打电脑自带功能!
  • 探索高通骁龙光线追踪技术
  • 视频设备轨迹回放平台EasyCVR打造视频智能融合新平台,驱动智慧机场迈向数字新时代
  • 【HTB】Windwos-easy-Legacy靶机渗透
  • 从零开始学习PX4源码19(飞行模式管理学习)
  • PyTorch嵌入层(nn.Embedding)
  • C++从入门到实战(十)类和对象(最终部分)static成员,内部类,匿名对象与对象拷贝时的编译器优化详解
  • LeetCode 891 -- 贡献度思想
  • 【爬虫】网易云音乐评论数据爬取
  • nodejs、socket.io、express + 实时线上聊天系统(自用笔记)
  • 若依——基于AI+若依框架的实战项目(实战篇(下))
  • 大模型中的参数规模与显卡匹配
  • forms实现俄罗斯方块
  • 什么是数据仓库