简介
环境管理支持按项目维护多套环境(如 prod、test),每个环境中可创建一组环境变量,变量值支持加密存储。压测时,测试场景可引用指定环境的变量,从而实现同一场景在不同环境间快速切换与复用。
环境为项目级资源,不同项目下的环境相互隔离。
前提条件
已开通 云压测 服务。
已创建项目,创建方式请参见 新建项目。
创建环境
1. 登录 腾讯云可观测平台,在左侧导航栏中选择云压测 > 配置管理。
2. 在页面顶部的项目下拉列表中选择目标项目,并选择环境管理页签。
3. 单击新建环境。

4. 在新建环境页面配置以下参数:
参数 | 是否必填 | 说明 |
所属项目 | - | 默认展示当前所选项目,不支持修改。单击项目名称可跳转至该项目。 |
环境名称 | 是 | 环境的标识名称,建议按用途命名,如 prod、test。 |
描述 | 否 | 环境的补充说明信息。 |
变量名 | 是 | 环境变量的名称,压测脚本或简单模式中通过该名称引用。 |
变量值 | 是 | 环境变量的取值。 |
是否加密 | 否 | 开启加密后,该变量值将以密文形式存储,保存后不再展示明文,适用于账号密码、Token、密钥等敏感信息;关闭则以明文保存。 |
描述 | 否 | 变量的补充说明信息。 |
操作 | - | 单击删除可移除对应变量行。 |
需要配置多个变量时,单击添加变量可新增变量行。

5. 配置完成后,单击保存。
环境编辑
1. 登录 腾讯云可观测平台,在左侧导航栏中选择云压测 > 配置管理。
2. 在页面顶部的项目下拉列表中选择目标项目,并选择环境管理页签。
3. 在列表中定位目标环境,可通过搜索框按环境名称筛选。
4. 单击目标环境所在行操作列的编辑,修改环境名称、描述或变量信息后,单击保存。

环境删除
1. 登录 腾讯云可观测平台,在左侧导航栏中选择 云压测 > 配置管理。
2. 在页面顶部的项目下拉列表中选择目标项目,并选择环境管理页签。
3. 执行以下任一操作:
单击目标环境所在行操作列的删除。
勾选一个或多个环境,单击列表上方的删除,可以批量删除。

4. 在删除确认弹窗中确认已关联的测试场景信息,单击确定完成删除。
使用环境变量
创建完环境和变量后,可以在简单模式和脚本模式的测试场景中引用。
脚本模式
1. 登录 腾讯云可观测平台,在左侧导航栏中选择云压测 > 测试场景,单击新建场景。
2. 单击脚本模式下的开始。
3. 在测试场景中进行施压配置,配置详情可参见 施压配置。
4. 单击环境管理,管理具体的环境,然后在脚本中,使用 env 函数即可。

import {env} from 'pts'let a = env()console.log(a.name)console.log(a.age)
拼接环境变量与字符串示例
实际压测中,环境变量通常不会单独使用,而需要与固定字符串拼接成完整的 URL、请求头或数据库连接串。推荐使用 JavaScript 模板字符串(反引号
`包裹,用 ${} 插入变量),也可以使用 + 运算符拼接。更多语法说明请参见 基础语法。示例一:拼接请求地址与请求头
假设环境中配置了
HOST、API_TOKEN、USER_ID 三个变量(API_TOKEN 建议开启加密)。import http from 'pts/http';import { check, env } from 'pts';// 全局读取一次环境变量const e = env();export default function () {// 使用模板字符串拼接 URLconst url = `${e.HOST}/api/v1/users/${e.USER_ID}`;const resp = http.get(url, {headers: {// 固定前缀 + 变量拼接Authorization: `Bearer ${e.API_TOKEN}`,},});check('status is 200', () => resp.statusCode === 200);}
切换环境(如从 test 切到 prod)时,只需在场景中选择另一个环境,脚本无需修改。
示例二:拼接数据库连接串
假设环境中配置了
MYSQL_USER、MYSQL_PW、MYSQL_HOST、MYSQL_PORT、MYSQL_DB 五个变量(MYSQL_PW 建议开启加密)。import sql from 'pts/sql';import { env } from 'pts';const e = env();// 拼接为 user:passwd@tcp(ip:port)/database 格式的数据源const dsn = `${e.MYSQL_USER}:${e.MYSQL_PW}@tcp(${e.MYSQL_HOST}:${e.MYSQL_PORT})/${e.MYSQL_DB}?parseTime=true`;// 数据库连接放在主函数外部,供同一个 VU 迭代时复用const db = new sql.Database(sql.MySQL, dsn);export default function () {const rows = db.query('SELECT id, name FROM employee LIMIT 10');console.log(JSON.stringify(rows));}
模板字符串必须使用反引号
` 包裹,使用单引号或双引号不会替换变量,会原样输出 ${...}。变量名需与环境中配置的名称完全一致(区分大小写)。若变量不存在,取到的值为
undefined,拼接结果中会出现 undefined 字符串,导致请求地址或连接串错误。env() 取到的值均为字符串。若需参与数值计算或比较,请先用 Number() 转换。变量值中若包含
@、:、/、?、# 等特殊字符(常见于密码),用于拼接 URL 时请先使用 encodeURIComponent() 转码,避免地址被错误解析。加密变量请勿使用
console.log 打印,避免密码、Token 等敏感信息出现在压测日志中。简单模式
1. 登录 腾讯云可观测平台,在左侧导航栏中选择云压测 > 测试场景,单击新建场景。
2. 单击简单模式下的开始。
3. 在测试场景中进行施压配置,配置详情可参见 施压配置。
4. 单击环境管理,管理具体的环境,简单模式会自动生成变量引用,直接使用即可。
