SlideShare a Scribd company logo
1 of 14
TESTING WITH PA11Y-CI
MMT Tech Meetup
TESTING WITH PA11Y-CI
WHO I’M I?
2
TOMAS JAKELIS
(FRONTEND ENGINEER)
@tomas_jakelis
Testing with pa11y-ci
MMT Tech Meetup @tomas_jakelis |
#MMT_TechMeetup
CONTACT TOMAS
WHATARE WE GOING TO BE COVERING?
3
• What is pa11y-ci?
• Getting started with pa11y-ci
• Examples of how to use it
• pa11y-ci takeaways
@tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
WHY USE AUTOMATED ACCESSIBILITY TESTING?
4
• Accelerates detection of common issues in new features
• Reduces regressions in existing features
• Avoids manual testing
• Tests common accessibility issues
• Catches accessibility problems
@tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
TESTING WITH PA11Y-CI
MMT Tech Meetup
TESTING WITH PA11Y-CI
PA11Y-CI
6 @tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
GETTING STARTED WITH PA11Y-CI
7 @tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
• Install Node.js
• npm install pa11y-ci | yarn add pa11y-ci
• Create .pa11yci config file
GETTING STARTED WITH PA11Y-CI
8 @tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
• “urls” – an array of urls to scan and report (each url can have its own options)
• “sitemap” – gets all urls from sitemap and scans them
• “sitemap-exclude” – excludes urls which don’t need to be tested (like documents)
• “threshold” – allows number of errors, warnings and notices, otherwise reports failure
• “viewport” – sets custom viewport size
• “screenCapture” – saves a screen shot of the tested url
Some useful config options:
DEMO TIME
MMT Tech Meetup
DEMO TIME
PA11Y-CI RUNNERS
10 @tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
• HTMLCS – default test runner
• AXE – another test runner available out of the box
• Custom runner
Available options:
PA11Y-CI ACTIONS (BETA)
11 @tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
Interesting new feature which is worth keeping an eye on. Actions will allow to fire events
on elements, wait for some elements to be loaded, fill form fields etc.
GOTCHAS
12 @tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
• Sitemap path can’t be defined in json config
• HTMLCS runner doesn’t deal properly with RGBA colours
(https://github.com/pa11y/pa11y/issues/442)
TAKEAWAYS
13
• Accelerates detection of common issues in new features
• Reduces regressions in existing features
• Frees up engineering time
• Covers common defects that are often overlooked
• Detects problems early on
• It is easy, fast and cheap
@tomas_jakelis |
#MMT_TechMeetup
MMT Tech Meetup
Testing with pa11y-ci
THANK YOU
14 @tomas_jakelis |
#MMT_TechMeetup
CONTACT TOMASTOMAS JAKELIS
(FRONTEND ENGINEER)
@tomas_jakelis
MMT Tech Meetup
Testing with pa11y-ci

More Related Content

Similar to MMT Tech Meetup November 2020

SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...South Tyrol Free Software Conference
 
ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...
ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...
ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...ITCamp
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Applitools
 
Introduction to Svelte - Mmt tech meetup - September 2020
Introduction to Svelte - Mmt tech meetup - September 2020Introduction to Svelte - Mmt tech meetup - September 2020
Introduction to Svelte - Mmt tech meetup - September 2020Ilesh Mistry
 
Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Brendan Connolly
 
Exploratory Testing As Code
Exploratory Testing As CodeExploratory Testing As Code
Exploratory Testing As CodeBrendan Connolly
 
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016Anil Jaising
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test AutomationKlaus Salchner
 
Meet Magento Poland 2018 - a11y workshop
Meet Magento Poland 2018 - a11y workshopMeet Magento Poland 2018 - a11y workshop
Meet Magento Poland 2018 - a11y workshopAnna Karoñ
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemCompuware
 
Mozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10nMozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10nHenrik Skupin
 
Testlink Test Management with Teamforge
Testlink Test Management with TeamforgeTestlink Test Management with Teamforge
Testlink Test Management with TeamforgeCollabNet
 
Whats In Your QA Tool Belt?
Whats In Your QA Tool Belt?Whats In Your QA Tool Belt?
Whats In Your QA Tool Belt?Walter Mamed
 
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdfTest Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdfDiana Gray, MBA
 
Serverless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStormServerless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStormDmitri Zimine
 
A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...Lionel Briand
 
2018 11 lightweight-microservices-microprofile
2018 11 lightweight-microservices-microprofile2018 11 lightweight-microservices-microprofile
2018 11 lightweight-microservices-microprofileJean-Louis MONTEIRO
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tipsBill Buchan
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Lari Hotari
 

Similar to MMT Tech Meetup November 2020 (20)

SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
SFScon 21 - Matteo Camilli - Performance assessment of microservices with str...
 
ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...
ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...
ITCamp 2018 - Damian Widera - SQL Server 2016. Meet the Row Level Security. P...
 
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
Unlocking the Power of ChatGPT and AI in Testing - NextSteps, presented by Ap...
 
Introduction to Svelte - Mmt tech meetup - September 2020
Introduction to Svelte - Mmt tech meetup - September 2020Introduction to Svelte - Mmt tech meetup - September 2020
Introduction to Svelte - Mmt tech meetup - September 2020
 
Test driving-qml
Test driving-qmlTest driving-qml
Test driving-qml
 
Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23
 
Exploratory Testing As Code
Exploratory Testing As CodeExploratory Testing As Code
Exploratory Testing As Code
 
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
ATDD with cucumber java talk at DevOpsQANJ meetup aug 11 2016
 
How to scale your Test Automation
How to scale your Test AutomationHow to scale your Test Automation
How to scale your Test Automation
 
Meet Magento Poland 2018 - a11y workshop
Meet Magento Poland 2018 - a11y workshopMeet Magento Poland 2018 - a11y workshop
Meet Magento Poland 2018 - a11y workshop
 
SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Mozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10nMozilla: Mozmill meets L10n
Mozilla: Mozmill meets L10n
 
Testlink Test Management with Teamforge
Testlink Test Management with TeamforgeTestlink Test Management with Teamforge
Testlink Test Management with Teamforge
 
Whats In Your QA Tool Belt?
Whats In Your QA Tool Belt?Whats In Your QA Tool Belt?
Whats In Your QA Tool Belt?
 
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdfTest Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdf
 
Serverless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStormServerless on OpenStack with Docker Swarm, Mistral, and StackStorm
Serverless on OpenStack with Docker Swarm, Mistral, and StackStorm
 
A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...A practical guide for using Statistical Tests to assess Randomized Algorithms...
A practical guide for using Statistical Tests to assess Randomized Algorithms...
 
2018 11 lightweight-microservices-microprofile
2018 11 lightweight-microservices-microprofile2018 11 lightweight-microservices-microprofile
2018 11 lightweight-microservices-microprofile
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tips
 
Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014Performance tuning Grails applications SpringOne 2GX 2014
Performance tuning Grails applications SpringOne 2GX 2014
 

Recently uploaded

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 

Recently uploaded (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 

MMT Tech Meetup November 2020

  • 1. TESTING WITH PA11Y-CI MMT Tech Meetup TESTING WITH PA11Y-CI
  • 2. WHO I’M I? 2 TOMAS JAKELIS (FRONTEND ENGINEER) @tomas_jakelis Testing with pa11y-ci MMT Tech Meetup @tomas_jakelis | #MMT_TechMeetup CONTACT TOMAS
  • 3. WHATARE WE GOING TO BE COVERING? 3 • What is pa11y-ci? • Getting started with pa11y-ci • Examples of how to use it • pa11y-ci takeaways @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci
  • 4. WHY USE AUTOMATED ACCESSIBILITY TESTING? 4 • Accelerates detection of common issues in new features • Reduces regressions in existing features • Avoids manual testing • Tests common accessibility issues • Catches accessibility problems @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci
  • 5. TESTING WITH PA11Y-CI MMT Tech Meetup TESTING WITH PA11Y-CI
  • 6. PA11Y-CI 6 @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci
  • 7. GETTING STARTED WITH PA11Y-CI 7 @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci • Install Node.js • npm install pa11y-ci | yarn add pa11y-ci • Create .pa11yci config file
  • 8. GETTING STARTED WITH PA11Y-CI 8 @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci • “urls” – an array of urls to scan and report (each url can have its own options) • “sitemap” – gets all urls from sitemap and scans them • “sitemap-exclude” – excludes urls which don’t need to be tested (like documents) • “threshold” – allows number of errors, warnings and notices, otherwise reports failure • “viewport” – sets custom viewport size • “screenCapture” – saves a screen shot of the tested url Some useful config options:
  • 9. DEMO TIME MMT Tech Meetup DEMO TIME
  • 10. PA11Y-CI RUNNERS 10 @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci • HTMLCS – default test runner • AXE – another test runner available out of the box • Custom runner Available options:
  • 11. PA11Y-CI ACTIONS (BETA) 11 @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci Interesting new feature which is worth keeping an eye on. Actions will allow to fire events on elements, wait for some elements to be loaded, fill form fields etc.
  • 12. GOTCHAS 12 @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci • Sitemap path can’t be defined in json config • HTMLCS runner doesn’t deal properly with RGBA colours (https://github.com/pa11y/pa11y/issues/442)
  • 13. TAKEAWAYS 13 • Accelerates detection of common issues in new features • Reduces regressions in existing features • Frees up engineering time • Covers common defects that are often overlooked • Detects problems early on • It is easy, fast and cheap @tomas_jakelis | #MMT_TechMeetup MMT Tech Meetup Testing with pa11y-ci
  • 14. THANK YOU 14 @tomas_jakelis | #MMT_TechMeetup CONTACT TOMASTOMAS JAKELIS (FRONTEND ENGINEER) @tomas_jakelis MMT Tech Meetup Testing with pa11y-ci

Editor's Notes

  1. Client dissatisfaction Reoccurring bugs Small bugs turning into larger ones Past working functionality broke Lots of time wasted testing Manual testing failed to pick up certain issues
  2. The previous example was just a single browser example. Selenium grid for multiple browsers as a single browser is not good enough these days NightwatchJS have SeliniumGrid The communication can also be facilitated by the Selenium Server (also known as Selenium Grid) or a compatible cloud-based testing platform (like Browserstack, SauceLabs, CrossBrowserTesting, or LambdaTest).
  3. WebDrivers get installed into Node Modules folder Selenium Server for Grid / if you want to run multiple browsers Install Java nightwatch.conf.js – path to where WebDriver is installed
  4. Basic commands to use Element expect – Chai Framework
  5. AXE won’t work with WCAG2AAA standard
  6. Basic commands to use Element expect – Chai Framework
  7. Client dissatisfaction Reoccurring bugs Small bugs turning into larger ones Past working functionality broke Lots of time wasted testing Manual testing failed to pick up certain issues