General fixtures 
DefaultSalesChannel 
We try to encapsulate test execution within the system under test and make tests as deterministic as possible. The idea is to create a separate sales channel for testing purposes within the standard Storefront. The DefaultSalesChannel fixture is worker-scoped and is there to achieve exactly that. Using it will provide you with a new sales channel with default settings, including a default Storefront customer.
Properties 
salesChannel: The Shopware sales channel reference.customer: A default Storefront customer reference.url: The url to the sales channel Storefront.
AdminApiContext 
This context provides a ready-to-use client for the Admin-API of Shopware. It is based on the standard Playwright APIRequestContext, but will handle authentication for you, so you can start making API requests to the Shopware instance under test right away. You can use it, for example, for test data creation or API testing. Learn more about the usage of the Shopware Admin-API in the API documentation.
Methods 
getpostpatchdeletefetchhead
Usage 
import { test, expect } from './../BaseTestFile';
test('Property group test scenario', async ({ AdminApiContext }) => {
    const response = await AdminApiContext.post('property-group?_response=1', {
        data: {
            name: 'Size',
            description: 'Size',
            displayType: 'text',
            sortingType: 'name',
            options: [{
                name: 'Small',
 }, {
                name: 'Medium',
 }, {
                name: 'Large',
 }],
 },
 });
    expect(response.ok()).toBeTruthy();
});StoreApiContext 
This context provides a ready-to-use client for the Store-API of Shopware and is based on the standard Playwright APIRequestContext. You can do API calls on behalf of a Storefront user. Learn more about the usage of the Shopware Store-API in the documentation.
Note that, other than the AdminApiContext, the StoreApiContext won't do an automated login of the shop customer. This is because a Storefront user isn't always a registered user by default, and you might want to test this behaviour explicitly. You can use the login method to log in as a registered shop customer.
Methods 
login(user): Does a login of a customer and stores the login state for future requests.getpostpatchdeletefetchhead
Usage 
import { test, expect } from './../BaseTestFile';
test('Store customer test scenario', async ({ StoreApiContext, DefaultSalesChannel }) => {
    // Login as the default customer.
    await StoreApiContext.login(DefaultSalesChannel.customer);
    // Create a new cart for the customer.
    const response = await StoreApiContext.post('checkout/cart', {
        data: { name: 'default-customer-cart' },
 });
    expect(response.ok()).toBeTruthy();
});AdminPage 
This fixture provides a Playwright page context for the Shopware Administration. It creates a new admin user with an authenticated session. You can start testing within the Administration using this page right away.
Usage 
import { test, expect } from './../BaseTestFile';
test('Shopware admin test scenario', async ({ AdminPage }) => {
    await AdminPage.goto('#/sw/product/index');
    await expect(AdminPage.locator('.sw-product-list__add-physical-button')).toBeVisible();
});Note that this is just a very rough example. In most cases, you won't use this page context directly, but maybe a page-object using this page.
StorefrontPage 
This fixture provides a Playwright page context for the Shopware Storefront of the default sales channel.
Add new fixtures 
To add new general fixtures, create them inside the src/fixtures folder. Keep in mind that you need to merge your new fixture inside the /src/index.ts file.