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



我希望使用剧作家对网页进行测试。

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

www.test1.comwww.test2.comwww.test3.comwww.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相同的方式传递它们。

另一种方法是使用Bash脚本。我使用以下内容跨环境运行测试,以确保我的剧作家测试可以在所有环境中运行-

#!/bin/bash
echo "Running tests against env 1";
ENV_URL=https://www.env1.com SOMESERVICE_ENV_URL=http://www.env1.com/scholarship npx playwright test $1;
echo "Running tests against env 2"
ENV_URL=https://env2.com SOMESERVICE_ENV_URL=http://env2.com:4008 npx playwright test $1;
echo "Running tests against env 3";
ENV_URL=http://localhost:3000 SOMESERVICE_ENV_URL=http://localhost:4008 npx playwright test $1;

然后运行./myScript.sh myTest.test.ts

(在Bash脚本中,传入的第一个参数可通过$1获得)

相关内容

  • 没有找到相关文章

最新更新