Playwright Fixtures
Enhance Playwright functionality with Currents fixtures for Playwright
Requirements
Overview
Setting up Currents Fixtures
1
Create and export a new instance of test for adding fixtures
import { test as baseTest } from '@playwright/test';
import {
CurrentsFixtures,
CurrentsWorkerFixtures,
fixtures
} from '@currents/playwright';
export const test = baseTest.extend<CurrentsFixtures, CurrentsWorkerFixtures>({
...fixtures.baseFixtures,
});2
Add additional Currents feature fixtures
import { test as baseTest } from '@playwright/test';
import {
CurrentsFixtures,
CurrentsWorkerFixtures,
fixtures
} from '@currents/playwright';
export const test = baseTest.extend<CurrentsFixtures, CurrentsWorkerFixtures>({
...fixtures.baseFixtures,
...fixtures.coverageFixtures,
...fixtures.actionFixtures,
});3
Optional: set fixture configuration
import {
currentsReporter,
CurrentsWorkerFixtures,
CurrentsFixtures,
} from "@currents/playwright";
import { devices, defineConfig } from "@playwright/test";
const config = defineConfig<CurrentsFixtures, CurrentsWorkerFixtures>({
use: {
// add the currents config here to be used in the fixture
currentsConfigOptions: {
... insert your currents config here
},
// Optionally disable Currents fixtures. (defaults to enabled)
// currentsFixturesEnabled: false
}),
... other config
});
export default config;4
Use the new implementation in your tests
import { test } from './currentsTest';
import { expect } from "@playwight/test"
test('basic test', async ({ page }) => {
await todoPage.addToDo('something nice');
await expect(page.getByTestId('todo-title')).toContainText(['something nice']);
});import { test } from './currentsTest';
import { expect } from "@playwight/test"
test('basic test', async ({ page, currentsConfig }) => {
console.log(currentsConfig);
await todoPage.addToDo('something nice');
await expect(page.getByTestId('todo-title')).toContainText(['something nice']);
});Combine Currents fixtures with existing custom fixtures
import { mergeTests } from '@playwright/test';
import { test as dbTest } from 'databaseTest';
import { test as currentsTest } from 'currentsTest';
export const test = mergeTests(currentsTest, dbTest);Conditionally Enable Fixtures
Available Fixtures
Last updated
Was this helpful?