{
"name": "test-automation",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"allure:generate": "npx allure generate ./allure-results --clean",
"allure:open": "npx allure open ./allure-report",
"allure:serve": "npx allure serve",
"test": "npx playwright test --project=chromium",
"posttest": "npm run allure:generate"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.18.1",
"allure-commandline": "^2.17.2",
"allure-playwright": "^2.0.0-beta.15",
"playwright": "^1.18.1",
"prettier": "2.5.1"
}
}
When I run npm test and the test fails, I don't have allure-report folder created.
I get this weird three Y commands in the console.
If I do manually npm run allure:generate and afterwords npm run allure:open, then the allure-report is created and I can open the report.
import { PlaywrightTestConfig, devices } from '@playwright/test';
/**
* See https://playwright.dev/docs/test-configuration.
*/
const config: PlaywrightTestConfig = {
testDir: './tests',
/* Maximum time one test can run for. */
timeout: 5 * 60 * 1000,
expect: {
/**
* Maximum time expect() should wait for the condition to be met.
* For example in `await expect(locator).toHaveText();`
*/
timeout: 15000,
},
/* 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 : undefined,
/* Reporter to use. See https://playwright.dev/docs/test-reporters */
reporter: 'allure-playwright',
/* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */
use: {
/* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */
actionTimeout: 0,
/* Base URL to use in actions like `await page.goto('/')`. */
baseURL: 'https://my-app.com',
/* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */
trace: 'on-first-retry',
screenshot: 'on',
video: 'retain-on-failure',
},
/* Configure projects for major browsers */
projects: [
{
name: 'chromium',
/* Project-specific settings. */
use: {
...devices['Desktop Chrome'],
},
},
{
name: 'firefox',
use: {
...devices['Desktop Firefox'],
},
},
{
name: 'webkit',
use: {
...devices['Desktop Safari'],
},
},
/* Test against mobile viewports. */
// {
// name: 'Mobile Chrome',
// use: {
// ...devices['Pixel 5'],
// },
// },
// {
// name: 'Mobile Safari',
// use: {
// ...devices['iPhone 12'],
// },
// },
/* Test against branded browsers. */
// {
// name: 'Microsoft Edge',
// use: {
// channel: 'msedge',
// },
// },
// {
// name: 'Google Chrome',
// use: {
// channel: 'chrome',
// },
// },
],
/* Folder for test artifacts such as screenshots, videos, traces, etc. */
// outputDir: 'test-results/',
/* Run your local dev server before starting the tests */
// webServer: {
// command: 'npm run start',
// port: 3000,
// },
};
export default config;
If the test passes then everything is fine.
I have to mention I have one test that I am skipping - test.skip(...)
Can you please help?
Thanks
This is my package.json:
{ "name": "test-automation", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "allure:generate": "npx allure generate ./allure-results --clean", "allure:open": "npx allure open ./allure-report", "allure:serve": "npx allure serve", "test": "npx playwright test --project=chromium", "posttest": "npm run allure:generate" }, "keywords": [], "author": "", "license": "ISC", "devDependencies": { "@playwright/test": "^1.18.1", "allure-commandline": "^2.17.2", "allure-playwright": "^2.0.0-beta.15", "playwright": "^1.18.1", "prettier": "2.5.1" } }When I run npm test and the test fails, I don't have allure-report folder created.
I get this weird three Y commands in the console.
If I do manually npm run allure:generate and afterwords npm run allure:open, then the allure-report is created and I can open the report.
This is my playwright.config.ts:
import { PlaywrightTestConfig, devices } from '@playwright/test'; /** * See https://playwright.dev/docs/test-configuration. */ const config: PlaywrightTestConfig = { testDir: './tests', /* Maximum time one test can run for. */ timeout: 5 * 60 * 1000, expect: { /** * Maximum time expect() should wait for the condition to be met. * For example in `await expect(locator).toHaveText();` */ timeout: 15000, }, /* 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 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: 'allure-playwright', /* Shared settings for all the projects below. See https://playwright.dev/docs/api/class-testoptions. */ use: { /* Maximum time each action such as `click()` can take. Defaults to 0 (no limit). */ actionTimeout: 0, /* Base URL to use in actions like `await page.goto('/')`. */ baseURL: 'https://my-app.com', /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', screenshot: 'on', video: 'retain-on-failure', }, /* Configure projects for major browsers */ projects: [ { name: 'chromium', /* Project-specific settings. */ use: { ...devices['Desktop Chrome'], }, }, { name: 'firefox', use: { ...devices['Desktop Firefox'], }, }, { name: 'webkit', use: { ...devices['Desktop Safari'], }, }, /* Test against mobile viewports. */ // { // name: 'Mobile Chrome', // use: { // ...devices['Pixel 5'], // }, // }, // { // name: 'Mobile Safari', // use: { // ...devices['iPhone 12'], // }, // }, /* Test against branded browsers. */ // { // name: 'Microsoft Edge', // use: { // channel: 'msedge', // }, // }, // { // name: 'Google Chrome', // use: { // channel: 'chrome', // }, // }, ], /* Folder for test artifacts such as screenshots, videos, traces, etc. */ // outputDir: 'test-results/', /* Run your local dev server before starting the tests */ // webServer: { // command: 'npm run start', // port: 3000, // }, }; export default config;If the test passes then everything is fine.
I have to mention I have one test that I am skipping - test.skip(...)
Can you please help?
Thanks