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

【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
http://www.lryc.cn/news/223570.html

相关文章:

  • React高阶组件(Higher-Order Components, HOCs)
  • 利用RoboBrowser库和爬虫代理实现微博视频的爬取
  • 使用Redis实现缓存及对应问题解决
  • 【穿透科技】P2P穿透模块介绍
  • 中国第二批,11个大模型备案获批
  • 一文搞定多端开发,做全栈大牛 附三大企业实战项目
  • 带有滑动菜单指示器的纯 CSS 导航选项卡
  • Java学习笔记41——接口组成更新
  • iview实现table里面每行数据的跳转
  • Docker快速搭建Drupal内容管理系统并远程访问
  • Ansible优化大全
  • Python|OpenCV-图像的添加和混合操作(8)
  • Vue3+vite+cesium环境搭建
  • metaObjecthandler 的基本理解与使用(自动插入更新人和创建人)
  • SpringBoot与ES7实现多条件搜索
  • 【排序算法】 快速排序(快排)!图解+实现详解!
  • 急招开发、安全工程师实习生
  • 数据结构与算法—插入排序选择排序
  • 基于词云图的短信热词数据可视化
  • Linux/centos上如何配置管理Web服务器?
  • Java EE进阶2
  • 最新AI系统ChatGPT源码+AI绘画系统源码+支持GPT4.0+Midjourney绘画+搭建部署教程+附源码
  • 大厂面试题-为什么一线互联网公司严禁使用存储过程
  • SpringBoot+Swagger详细使用方法
  • [动态规划] (十二) 简单多状态 LeetCode 213.打家劫舍II
  • 算法与数据结构之链表
  • 深入剖析React Hooks中的 useCallback
  • 微服务中配置文件(YAML文件)和项目依赖(POM文件)的区别与联系
  • Java快速排序算法、三路快排(Java算法和数据结构总结笔记)[7/20]
  • 【React】05.JSX语法使用上的细节