【nodejs版playwright】02-支持多套测试环环境执行用例

日常测试中,一套测试用例需支持在不同的测试环境运行,如staging、production
因为涉及不同的测试环境,那使用的环境变量或参数就不一样,如staging登录可能用到的用户名是A,而production可能用到的是b。
所以需要有一个地方统一管理这些环境变量,并合理配置,让测试用例能获取到这些参数。

默认情况下,不同的配置文件均以 .env 开头,如
staging: .env.staging
production: .env.production

操作步骤

1. 安装 dotenv

pnpm add dotenv --save

2. 新建配置文件

.env.production

BASE_URL=https://dev.mi.com
USERNAME=xxx
PASSWORD=xxx

.env.staging

# 注意配置host
BASE_URL=http://onebox.developer.mi.com/
USERNAME=xxx
PASSWORD=xxx

3. 新建环境变量引用文件

src/utils/env.ts

export default class Env {
    public static BASE_URL = process.env.BASE_URL;
    public static USERNAME = process.env.USERNAME;
    public static PASSWORD = process.env.PASSWORD;
}

4. 新建全局初始化文件

src/setup/global-setup.ts

import { type FullConfig } from "@playwright/test";
import dotenv from "dotenv";

async function globalSetup(config: FullConfig) {
    if (process.env.test_env) {
        dotenv.config({
            path: `.env.${process.env.test_env}`,
            override: true
        })
    }
}

export default globalSetup;

5. 引用全局初始化文件

playwright.config.ts

export default defineConfig({
  ......
  globalSetup: 'src/setup/global-setup.ts',
  ......
});

运行配置

1. 在终端执行运行

# 以下命令将自动加载 .env.production 文件中的配置
test_env=production npx playwright test

2. 增加快捷运行命令

package.json

{
  ......
  "scripts": {
    "production": "test_env=production npx playwright test",
    "staging": "test_env=staging npx playwright test"
  },
  ......
}

使用以下命令运行

npm run staging

你可能感兴趣的:(playwright,playwright,nodejs,typescript)