Playwright - 针对不同环境和不同变量进行测试

Ord*_*ing 10 playwright playwright-test

我希望使用 Playwright 来测试网页。

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

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

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

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

dem*_*123 15

自 Playwright 以来v1.13.0,就有了一个baseURL可用的选项。你可以用这种方式利用它

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

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

const config: PlaywrightTestConfig = {
  use: {
    baseURL: process.env.URL,
  },
};
export default config;
Run Code Online (Sandbox Code Playgroud)

现在在package.json文件中,您可以在测试命令中为 中的各种 env 设置环境变量scripts,如下所示

...
"scripts": {
  "start": "node app.js",
  "test1": "URL=www.test1.com mocha --reporter spec",
  "test2": "URL=www.test2.com mocha --reporter spec",
  .
  .
},
...
Run Code Online (Sandbox Code Playgroud)

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

  • 在这种情况下,我通过 ENVIRONMENT=test 或 ENVIRONMENT=product 等,然后我使用 playwright GlobalSetup 由环境从 json 加载。 (2认同)