# Instructions

- Following Playwright test failed.
- Explain why, be concise, respect Playwright best practices.
- Provide a snippet of code with the fix, if possible.

# Test info

- Name: mfc-corporate-com.spec.ts >> content >> slider-slide2grid
- Location: visual/mfc-corporate-com.spec.ts:20:9

# Error details

```
Error: expect(page).toHaveScreenshot(expected) failed

  16349 pixels (ratio 0.03 of all image pixels) are different.

  Snapshot: content-slider-slide2grid.png

Call log:
  - Expect "toHaveScreenshot(content-slider-slide2grid.png)" with timeout 15000ms
    - verifying given screenshot expectation
  - taking page screenshot
    - disabled all CSS animations
  - waiting for fonts to load...
  - fonts loaded
  - 16349 pixels (ratio 0.03 of all image pixels) are different.
  - waiting 100ms before taking screenshot
  - taking page screenshot
    - disabled all CSS animations
  - waiting for fonts to load...
  - fonts loaded
  - captured a stable screenshot
  - 16349 pixels (ratio 0.03 of all image pixels) are different.

```

# Page snapshot

```yaml
- generic [ref=e2]:
  - link "Skip to content" [ref=e3] [cursor=pointer]:
    - /url: "#page-content"
  - banner [ref=e4]:
    - generic [ref=e5]:
      - link "Marketing Factory Digital GmbH" [ref=e6] [cursor=pointer]:
        - /url: /
        - img "Marketing Factory Digital GmbH" [ref=e7]
      - link "Contact form" [ref=e26] [cursor=pointer]:
        - /url: /forms/contact-form/
      - button "Navigation" [expanded] [ref=e27] [cursor=pointer]
  - navigation "Breadcrumb" [ref=e29]:
    - generic [ref=e30]:
      - paragraph [ref=e31]: "You are here:"
      - list [ref=e32]:
        - listitem [ref=e33]:
          - link "Homepage" [ref=e34] [cursor=pointer]:
            - /url: /
            - img [ref=e35]
        - listitem [ref=e37]:
          - text: /
          - link "Content elements" [ref=e38] [cursor=pointer]:
            - /url: /content-elements/
            - generic [ref=e39]: Content elements
        - listitem [ref=e40]:
          - text: /
          - generic [ref=e41]: Slider (slide2grid)
  - main [ref=e42]:
    - generic [ref=e46]:
      - heading "From our services." [level=2] [ref=e47]
      - generic [ref=e48]:
        - generic [ref=e49]: slide 1 to 2 of 5
        - generic [ref=e52]:
          - generic [ref=e53]:
            - img [ref=e55]
            - generic [ref=e57]:
              - heading "Seamless CMS Integration" [level=3] [ref=e58]
              - paragraph [ref=e59]:
                - text: Expand your online store with an informative 'Advice' section to create a brand experience for your customers. We generate synergies between the e-commerce system
                - link "Shopware" [ref=e60] [cursor=pointer]:
                  - /url: https://www.marketing-factory.com/technology/shopware/
                - text: and the enterprise CMS
                - link "TYPO3" [ref=e61] [cursor=pointer]:
                  - /url: https://www.marketing-factory.com/technology/typo3/
                - text: by creating an interface between them to positively shape your customers' image of the brand in the long term.
            - link "Find out more" [ref=e63] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/services/programming-and-development/#c207
          - generic [ref=e64]:
            - img [ref=e66]
            - generic [ref=e69]:
              - heading "Design" [level=3] [ref=e70]
              - paragraph [ref=e71]: Over 25 years of experience as a full-service expert help us to design your website in an integrated and sustainable way, and to develop a tailor-made digital solution that enables you to ideally reach your target group and fulfil your (online) mission.
            - link "Find out more" [ref=e73] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/services/consulting-analysis-and-strategy/#c271
          - generic [ref=e74]:
            - img [ref=e76]
            - generic [ref=e78]:
              - heading [level=3] [ref=e79]: Development and integration of interfaces
              - paragraph [ref=e80]: Our many years of experience and expertise in interface development and integration enable us to network your existing internal and external systems to build a smooth-running IT architecture. The creation of a standardised data structure means that your system landscape can be scaled at any time and will continue to impress even when requirements change.
            - link [ref=e82] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/services/programming-and-development/interface-development/
              - text: Find out more
          - generic [ref=e83]:
            - img [ref=e85]
            - generic [ref=e91]:
              - heading [level=3] [ref=e92]: PIM integration
              - paragraph [ref=e93]: Would you like to populate your website, online shop, product catalogue or product configurator centrally and (partially) automatically with product information and media directly from your PIM system? We can support you in setting up a PIM system and will establish the appropriate interface between your sales and communication channels and your PIM.
            - link [ref=e95] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/services/programming-and-development/pimerp-links/
              - text: Find out more
          - generic [ref=e96]:
            - img [ref=e98]
            - generic [ref=e104]:
              - heading [level=3] [ref=e105]: Website relaunch
              - paragraph [ref=e106]: "Initial concept, technical implementation, relaunch: Together with you, we will define the key objectives for your company, specify the technical and content requirements, and bring your ageing website up to date with the latest technology. With optimum security, reduced loading time and no ranking losses in search engines."
            - link [ref=e108] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/services/consulting-analysis-and-strategy/
              - text: Find out more
  - contentinfo [ref=e109]:
    - generic [ref=e112]:
      - navigation [ref=e113]:
        - list [ref=e114]:
          - listitem [ref=e115]:
            - button "Cookie settings" [ref=e116] [cursor=pointer]
          - listitem [ref=e117]:
            - link "Data privacy policy" [ref=e118] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/data-privacy-policy/
          - listitem [ref=e119]:
            - link "Legal notice" [ref=e120] [cursor=pointer]:
              - /url: https://www.marketing-factory.com/legal-notice/
      - generic [ref=e121]:
        - paragraph [ref=e122]: © Marketing Factory Digital GmbH
        - paragraph [ref=e123]:
          - text: Alternative text for images is partially
          - link "generated by AI" [ref=e124] [cursor=pointer]:
            - /url: https://www.marketing-factory.com/technology/typo3/our-typo3-extensions/ai-filemetadata/
    - generic [ref=e127]:
      - strong [ref=e128]: Picture Credits
      - list
```

# Test source

```ts
  1   | import { test, expect } from '@playwright/test';
  2   | import { setup, scrollToBottom, setDarkTheme, hideElements } from '../helpers/utils';
  3   | 
  4   | const PAGE_HEADER = ['.c-page-header'];
  5   | const snap = (name: string) => ({ name: `${name}.png`, fullPage: true } as const);
  6   | 
  7   | test.describe('content', () => {
  8   |     test('keyvisual', async ({ page }) => {
  9   |         await setup(page, '/content-elements/keyvisual/');
  10  |         await expect(page).toHaveScreenshot(snap('content-keyvisual'));
  11  |         await setDarkTheme(page);
  12  |         await expect(page).toHaveScreenshot(snap('content-keyvisual-dark'));
  13  |     });
  14  | 
  15  |     test('hero-image', async ({ page }) => {
  16  |         await setup(page, '/content-elements/hero-image/');
  17  |         await expect(page).toHaveScreenshot(snap('content-hero-image'));
  18  |     });
  19  | 
  20  |     test('slider-slide2grid', async ({ page }) => {
  21  |         await setup(page, '/content-elements/slider-slide2grid/');
> 22  |         await expect(page).toHaveScreenshot(snap('content-slider-slide2grid'));
      |                            ^ Error: expect(page).toHaveScreenshot(expected) failed
  23  |         await setDarkTheme(page);
  24  |         await expect(page).toHaveScreenshot(snap('content-slider-slide2grid-dark'));
  25  |     });
  26  | 
  27  |     test('comparison-modul', async ({ page }) => {
  28  |         await setup(page, '/content-elements/comparison-module/');
  29  |         await expect(page).toHaveScreenshot(snap('content-comparison-modul'));
  30  |         await setDarkTheme(page);
  31  |         await expect(page).toHaveScreenshot(snap('content-comparison-modul-dark'));
  32  |     });
  33  | });
  34  | 
  35  | test.describe('page-types', () => {
  36  |     test('search', async ({ page }) => {
  37  |         await setup(page, '/page-types/search/?tx_solr%5Bq%5D=obermeyer');
  38  |         await expect(page).toHaveScreenshot(snap('pagetype-search'));
  39  |     });
  40  | 
  41  |     test('client-list', async ({ page }) => {
  42  |         await setup(page, '/page-types/customers-list-view/');
  43  |         await expect(page).toHaveScreenshot(snap('pagetype-client-list'));
  44  |     });
  45  | 
  46  |     test('client-pfm', async ({ page }) => {
  47  |         await setup(page, '/page-types/customers-list-view/pfm-medical-sg/');
  48  |         await expect(page).toHaveScreenshot(snap('pagetype-client-pfm'));
  49  |     });
  50  | });
  51  | 
  52  | test.describe('plugins', () => {
  53  |     test('project-list', async ({ page }) => {
  54  |         await setup(page, '/plugins/project-list/');
  55  |         await expect(page).toHaveScreenshot(snap('plugin-project-list'));
  56  |     });
  57  | 
  58  |     test('project-obermeyer-corporate', async ({ page }) => {
  59  |         await setup(page, '/page-types/customers-list-view/obermeyer-sg/launch-of-the-obermeyer-groups-new-corporate-website-sg/');
  60  |         await hideElements(page, PAGE_HEADER);
  61  |         await scrollToBottom(page);
  62  |         await expect(page).toHaveScreenshot(snap('plugin-project-obermeyer-corporate'));
  63  |     });
  64  | 
  65  |     test('picturecredits', async ({ page }) => {
  66  |         await setup(page, '/plugins/picturecredits/');
  67  |         await expect(page).toHaveScreenshot(snap('plugin-picturecredits'));
  68  |     });
  69  | });
  70  | 
  71  | test.describe('blog', () => {
  72  |     test('overview', async ({ page }) => {
  73  |         await setup(page, '/blog/');
  74  |         await expect(page).toHaveScreenshot(snap('blog-overview'));
  75  |     });
  76  | 
  77  |     test('post-menu-elements', async ({ page }) => {
  78  |         await setup(page, '/blog/with-menu-elements/');
  79  |         await expect(page).toHaveScreenshot(snap('blog-post-menu-elements'));
  80  |     });
  81  | 
  82  |     test('post-with-comments', async ({ page }) => {
  83  |         await setup(page, '/blog/with-comments/');
  84  |         await expect(page).toHaveScreenshot(snap('blog-post-with-comments'));
  85  |     });
  86  | 
  87  |     test('post-localized-featured-image', async ({ page }) => {
  88  |         await setup(page, '/blog/localized-featured-image/');
  89  |         await expect(page).toHaveScreenshot(snap('blog-post-localized-featured-image'));
  90  |     });
  91  | });
  92  | 
  93  | test.describe('forms', () => {
  94  |     test('contact', async ({ page }) => {
  95  |         await setup(page, '/forms/contact-form/');
  96  |         await expect(page).toHaveScreenshot(snap('forms-contact'));
  97  |         await setDarkTheme(page);
  98  |         await expect(page).toHaveScreenshot(snap('forms-contact-dark'));
  99  |     });
  100 | 
  101 |     test('footer', async ({ page }) => {
  102 |         await setup(page, '/forms/footer-form/');
  103 |         await expect(page).toHaveScreenshot(snap('forms-footer'));
  104 |     });
  105 | });
  106 | 
```