const { test, expect } = require('@playwright/test'); const AxeBuilder = require('@axe-core/playwright').default; test.use({ viewport: { width: 1920, height: 1080 }, }); test.describe('site-test', () => { test('Homepage Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/'); await page.screenshot({ path: 'test-results/homepage.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Sample Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/sample-page/'); await page.screenshot({ path: 'test-results/sample-page.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Page With Sidebar Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/page-with-sidebar/'); await page.screenshot({ path: 'test-results/page-with-sidebar.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Content Filter Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/content-filter/'); await page.screenshot({ path: 'test-results/content-filter.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Accordion Block Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/blocks/accordion-block/'); await page.screenshot({ path: 'test-results/accordion-block.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Button Block Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/blocks/buttons-block/'); await page.screenshot({ path: 'test-results/buttons-block.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Grid Block Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/blocks/grid-block/'); await page.screenshot({ path: 'test-results/grid-block.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Media Text Block Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/blocks/media-text-block/'); await page.screenshot({ path: 'test-results/media-text-block.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Section Block Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/blocks/section-block/'); await page.screenshot({ path: 'test-results/section-block.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Blog Index Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/news/'); await page.screenshot({ path: 'test-results/blog-index.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('Single Blog Post Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/vel-consectetur-vero-laudantium/'); await page.screenshot({ path: 'test-results/blog-post.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); test('404 Page Test', async ({ page }, testInfo) => { await page.goto('http://basic-wp.test/yaya/'); await page.screenshot({ path: 'test-results/404.png', fullPage: true }); const accessibilityScanResults = await new AxeBuilder({ page }) .withTags(['wcag2a', 'wcag2aa', 'wcag21a', 'wcag21aa', 'wcag22a', 'wcag22aa']) .analyze(); await testInfo.attach('accessibility-scan-results', { body: JSON.stringify(accessibilityScanResults, null, 2), contentType: 'application/json' }); expect(accessibilityScanResults.violations).toEqual([]); }); });