剧作家 - 针对不同环境和不同变量进行测试

Playwright - Test against different environments and different variables

我希望使用 Playwright 针对网页进行测试。

我正在使用的系统有 4 个不同的环境,我们需要针对这些环境进行部署, 例如测试 url 可能是

www.test1.com www.test2.com www.test3.com www.test4.com

第一个问题是如何针对不同的环境?在我的剧作家配置中,我有一个 baseUrl,但我需要覆盖它。

此外,每个环境都有不同的登录凭据,我如何根据环境创建和覆盖这些作为参数?

自剧作家 v1.13.0 以来,有一个 baseURL 选项可用。您可能可以通过这种方式利用它

在你的config.js文件中,你可以有这个

import { PlaywrightTestConfig } from '@playwright/test';

const config: PlaywrightTestConfig = {
  use: {
    baseURL: process.env.URL,
  },
};
export default config;

现在在 package.json 文件中,您可以在 scripts 的各种环境的测试命令中设置环境变量,像这样

...
"scripts": {
  "start": "node app.js",
  "test1": "URL=www.test1.com mocha --reporter spec",
  "test2": "URL=www.test2.com mocha --reporter spec",
  .
  .
},
...

同样,您也可以为登录凭据设置环境变量,然后以与传递 URL 相同的方式在脚本中传递它们。