Rayrun
← Back to Discord Forum

Can I get tests run status in the globalTeardown file?

oleksiyluchposted in #help-playwright
Open in Discord
oleksiyluch

After test run i have to send email notification to customer. How can I get the status?

async function globalTeardown(config: FullConfig) { const status = "some status" await sendMessage(email,status) }

This thread is trying to answer question "Can I get tests run status in the globalTeardown file?"

1 reply
oleksiyluch

Can I get tests run status in the globalTeardown file?

Answer

Sure, you can access the test run status in the global teardown file. This script runs after all tests are done, letting you do cleanup tasks or other actions based on the test results.

Here's how you can do it with Playwright's test framework:

First, define a custom variable in your global setup file and update its value based on the test outcomes. Then, in your global teardown file, you can access this variable to know the overall status of the tests.

Here's an example:

// global-setup.ts
import { FullConfig } from '@playwright/test';

async function globalSetup(config: FullConfig) {
  process.env.TEST_STATUS = 'passed';
}

export default globalSetup;
// tests/menu.loggedin.spec.ts
import { expect } from '@playwright/test';

test('menu', async ({ page }) => {
  if (/* some condition */) {
    process.env.TEST_STATUS = 'failed';
  }
});
// cleanup-db.teardown.ts
import { FullConfig } from '@playwright/test';

async function cleanupDbTeardown(config: FullConfig) {
  const { TEST_STATUS } = process.env;

  if (TEST_STATUS === 'passed') {
    console.log('All tests passed!');
  } else if (TEST_STATUS === 'failed') {
    console.log('Some tests failed!');
  } else {
    console.log('Unknown test status!');
  }
}

export default cleanupDbTeardown;

In this example, the TEST_STATUS variable is initially set to 'passed' in the global setup file. Then, in each individual test file (menu.loggedin.spec.ts), you can update the TEST_STATUS based on the outcome of each test. Finally, in the global teardown file (cleanup-db.teardown.ts), you can access the TEST_STATUS variable to determine whether all tests passed or if any of them failed.

Remember to configure your Playwright configuration file (playwright.config.ts) to use the global setup and teardown files accordingly.

This example assumes you are using Playwright's test framework and may need adjustments based on your specific testing setup.

TwitterGitHubLinkedIn
AboutQuestionsDiscord ForumBrowser ExtensionTagsQA Jobs

Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email luc@ray.run.