Some checks are pending
Playwright Tests / test (push) Waiting to run
init test test test 划分美管加、慧来客、智荟宝项目 新增美管加demo 新增npm命令 测试智荟宝 test test ii csv test init test test init init
91 lines
2.8 KiB
JavaScript
91 lines
2.8 KiB
JavaScript
// @ts-check
|
|
const { defineConfig, devices } = require('@playwright/test');
|
|
const dotenv = require('dotenv');
|
|
const path = require('path');
|
|
|
|
// Read from ".env" file.
|
|
dotenv.config({ path: path.resolve(__dirname, '.env') });
|
|
const hlkAuthFile = path.join(__dirname, '.auth/hlk_admin.json');
|
|
const mgjAuthFile = path.join(__dirname, '.auth/mgj_admin.json');
|
|
|
|
/**
|
|
* Read environment variables from file.
|
|
* https://github.com/motdotla/dotenv
|
|
*/
|
|
// require('dotenv').config({ path: path.resolve(__dirname, '.env') });
|
|
|
|
/**
|
|
* @see https://playwright.dev/docs/test-configuration
|
|
*/
|
|
module.exports = defineConfig({
|
|
testDir: './tests',
|
|
/* Run tests in files in parallel */
|
|
fullyParallel: true,
|
|
/* Fail the build on CI if you accidentally left test.only in the source code. */
|
|
forbidOnly: !!process.env.CI,
|
|
/* Retry on CI only */
|
|
retries: process.env.CI ? 2 : 0,
|
|
/* Opt out of parallel tests on CI. */
|
|
workers: process.env.CI ? 1 : 1,
|
|
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
|
|
reporter: 'html',
|
|
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
|
|
use: {
|
|
/* Base URL to use in actions like `await page.goto('/')`. */
|
|
baseURL: process.env.BASE_URL,
|
|
timezoneId: 'Asia/Shanghai',
|
|
locale: 'zh-CN',
|
|
geolocation: { longitude: 114.24, latitude: 22.73 },
|
|
permissions: ['geolocation'],
|
|
extraHTTPHeaders: {
|
|
'Accept-Language': 'zh-CN,zh;q=0.9',
|
|
},
|
|
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
|
|
trace: 'on-first-retry',
|
|
},
|
|
|
|
/* Configure projects for major browsers */
|
|
projects: [
|
|
{ name: 'hlk_setup', use: { baseURL: process.env.BASE_URL }, testMatch: /hlk\.setup\.js/ },
|
|
{ name: 'zhb_setup', use: { baseURL: process.env.ZHB_BASE_URL }, testMatch: /zhb\.setup\.js/ },
|
|
{ name: 'mgj_setup', use: { baseURL: process.env.MGJ_BASE_URL }, testMatch: /mgj\.setup\.js/ },
|
|
{
|
|
name: 'chromium',
|
|
use: {
|
|
baseURL: process.env.BASE_URL,
|
|
...devices['Desktop Chrome'],
|
|
storageState: hlkAuthFile,
|
|
},
|
|
testMatch: '**/tests/hlk/**.spec.js',
|
|
dependencies: ['hlk_setup'],
|
|
},
|
|
|
|
{
|
|
name: 'chromium',
|
|
use: {
|
|
baseURL: process.env.ZHB_BASE_URL,
|
|
...devices['Desktop Chrome'],
|
|
},
|
|
testMatch: '**/tests/zhb/**.spec.js',
|
|
dependencies: ['zhb_setup'],
|
|
},
|
|
{
|
|
name: 'chromium',
|
|
use: {
|
|
baseURL: process.env.MGJ_BASE_URL,
|
|
...devices['Desktop Chrome'],
|
|
storageState: mgjAuthFile,
|
|
},
|
|
testMatch: '**/tests/mgj/**.spec.js',
|
|
dependencies: ['mgj_setup'],
|
|
},
|
|
],
|
|
|
|
/* Run your local dev server before starting the tests */
|
|
// webServer: {
|
|
// command: 'npm run start',
|
|
// url: 'http://127.0.0.1:3000',
|
|
// reuseExistingServer: !process.env.CI,
|
|
// },
|
|
});
|