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

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
 
Dev buchan 30 proven tips
Dev buchan 30 proven tipsDev buchan 30 proven tips
Dev buchan 30 proven tips
Bill Buchan
 

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

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 

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