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

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
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
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
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
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
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
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 

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