2
Most read
5
Most read
14
Most read
Automated tests with webdriverIO
1João Casalta Nabais
What is WebdriverIO?
• Allows you to control a browser using code
• Out of the box hook integration with BDD frameworks:
• Cucumber
• Jasmine
• Mocha
• Out of the box support for reporters
• Manages Selenium for you
2
Setup
3
Feature Step
Page
Object
WebdriverIO browser
API
Selenium
Server
Webdriver
Browser
Driver
• geckodriver
• chromedriver
• safaridriver
• iedriver
• (…)
Browser
• firefox
• chrome
• Safari
• ie
• (…)
Features
Allows you to write the test cases using Gherkin (“natural
language”), e.g.:
4
Search.feature
Steps (Step Definitions)
Responsible to “convert” gherkin statements to a set of code
instructions, e.g.:
5
Search.feature
google-search-steps.js
Page Objects
Represent the elements and actions of a web page, e.g.:
6
google-search-page.js
google-search-steps.js
Browser API
Represent the elements and actions of a web page, e.g.:
7
google-search-page.js
• browser – abstraction used for interacting
with the web browser;
• .url() – opens the browser in the provided
URI
• .waitForExist – waits for an element to exist
in the DOM
• .waitForVisible – waits for an element to be
visible in the DOM
• .isVisible() – returns true if the element is
visible in the DOM, otherwise returns false
Browser API
Other useful commands:
• browser.scroll([selector][,xoffset][,yoffset]);
• browser.click(selector);
• browser.pause(milliseconds);
• browser.moveToObject(selector,xoffset,yoffset);
• browser.setValue(selector,values);
• browser.execute(script[,argument1,...,argumentN]);	
• browser.getCookie([name]);
8
Demo
• Google	Search	Features:
• Search	by	a	static	term
• Search	by	parameter
9
Reporters
10
• Allure
• Xunit
• Dot
• Step
• (…)
Challenges
• Configuration	of	Browsers
• Stability	of	webdriverio project
• Version	matching	(repos,	selenium	server,	browser	drivers,	browsers)
• E.g.	If	chrome	automatically	updates	and	by	some	reason	you	have	a	fixed	
chromedriver version	it	might	break	L
• Support	of	webdriver protocol	(JSON	Wire)
• Some	drivers	do	not	have	all	the	actionsimplemented,	so	even	if	Webdriverio
API	sends	the	request	to	selenium,	the	driver	might	not	have	it	supported	for	
the	targeted	browser	L (e.g.	window	maximize	in	latest	chrome	version)
11
References
• Gherkin Features
• https://cucumber.io/docs/reference
• Cucumber Step Definitions
• https://cucumber.io/docs/reference#step-definitions
• Page Objects
• http://webdriver.io/guide/testrunner/pageobjects.html#description
• https://martinfowler.com/bliki/PageObject.html
• WebdriverIO API (Browser API)
• http://webdriver.io/api.html
12
References
• WebdriverIO GitHub
• https://github.com/webdriverio/webdriverio/
• WebdriverIO Gitter
• https://gitter.im/webdriverio/webdriverio
13
Thank You!
14João Casalta Nabais

More Related Content

PPTX
Test planning
PPTX
Test automation proposal
PPTX
Agile test-management-test-rail-lastest
PDF
What is Test Plan? Edureka
PDF
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
PDF
Getting Started With Cypress
PPTX
How to be successful in life
PPTX
Diabetes Mellitus
Test planning
Test automation proposal
Agile test-management-test-rail-lastest
What is Test Plan? Edureka
Cypress vs Selenium WebDriver: Better, Or Just Different? -- by Gil Tayar
Getting Started With Cypress
How to be successful in life
Diabetes Mellitus

What's hot (20)

PDF
Webdriver.io
PPTX
A guide to getting started with WebdriverIO
PPTX
BDD with CucumberJS and WebdriverIO
PPTX
WebdriverIO: the Swiss Army Knife of testing
PPTX
Automation - web testing with selenium
PDF
Jenkins with SonarQube
PPTX
Test Automation Framework with BDD and Cucumber
PPTX
Cypress Testing.pptx
PPTX
Selenium
PPTX
Selenium WebDriver
PPTX
End to end test automation with cypress
PPT
Cucumber presentation
PDF
Automation Testing using Selenium Webdriver
PPTX
Automated Test Framework with Cucumber
PPTX
BDD WITH CUCUMBER AND JAVA
PPT
Selenium Presentation at Engineering Colleges
PDF
Cypress testing
PDF
Selenium with Cucumber
PDF
Spring boot introduction
Webdriver.io
A guide to getting started with WebdriverIO
BDD with CucumberJS and WebdriverIO
WebdriverIO: the Swiss Army Knife of testing
Automation - web testing with selenium
Jenkins with SonarQube
Test Automation Framework with BDD and Cucumber
Cypress Testing.pptx
Selenium
Selenium WebDriver
End to end test automation with cypress
Cucumber presentation
Automation Testing using Selenium Webdriver
Automated Test Framework with Cucumber
BDD WITH CUCUMBER AND JAVA
Selenium Presentation at Engineering Colleges
Cypress testing
Selenium with Cucumber
Spring boot introduction
Ad

Similar to Webdriver io presentation (20)

PPTX
Inspect The Uninspected
PDF
Acceptance Test-driven Development with Cucumber-jvm
PDF
System browser
PDF
A Dynamic Analysis Framework for Front-end JavaScript
PPTX
Automated ui-testing
PPTX
Open Source Automation Tools That Really Work V2
PDF
How to start developing apps for Firefox OS
PDF
Introduction to Flask Micro Framework
PDF
Behat bdd training (php) course slides pdf
PPTX
Automated UI Testing
PDF
Selenium Tips & Tricks - StarWest 2015
PPTX
External JavaScript Widget Development Best Practices (updated) (v.1.1)
PDF
Griffon for the Enterprise
PPTX
Automation using Javascript
PDF
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
PPTX
DIGIT Noe 2016 - Overview of front end development today
PDF
orcreatehappyusers
PDF
orcreatehappyusers
PPTX
Test Automation using Ruby
PDF
Angular SEO
Inspect The Uninspected
Acceptance Test-driven Development with Cucumber-jvm
System browser
A Dynamic Analysis Framework for Front-end JavaScript
Automated ui-testing
Open Source Automation Tools That Really Work V2
How to start developing apps for Firefox OS
Introduction to Flask Micro Framework
Behat bdd training (php) course slides pdf
Automated UI Testing
Selenium Tips & Tricks - StarWest 2015
External JavaScript Widget Development Best Practices (updated) (v.1.1)
Griffon for the Enterprise
Automation using Javascript
Infinum Android Talks #13 - Developing Android Apps Like Navy Seals by Ivan Kušt
DIGIT Noe 2016 - Overview of front end development today
orcreatehappyusers
orcreatehappyusers
Test Automation using Ruby
Angular SEO
Ad

Recently uploaded (20)

PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Topaz Photo AI Crack New Download (Latest 2025)
PPTX
Introduction to Windows Operating System
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PDF
Autodesk AutoCAD Crack Free Download 2025
DOCX
How to Use SharePoint as an ISO-Compliant Document Management System
PDF
Website Design Services for Small Businesses.pdf
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PPTX
Trending Python Topics for Data Visualization in 2025
PDF
DNT Brochure 2025 – ISV Solutions @ D365
PPTX
GSA Content Generator Crack (2025 Latest)
PDF
AI Guide for Business Growth - Arna Softech
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
DOCX
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
How Tridens DevSecOps Ensures Compliance, Security, and Agility
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Oracle Fusion HCM Cloud Demo for Beginners
Topaz Photo AI Crack New Download (Latest 2025)
Introduction to Windows Operating System
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Autodesk AutoCAD Crack Free Download 2025
How to Use SharePoint as an ISO-Compliant Document Management System
Website Design Services for Small Businesses.pdf
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Ableton Live Suite for MacOS Crack Full Download (Latest 2025)
Monitoring Stack: Grafana, Loki & Promtail
Trending Python Topics for Data Visualization in 2025
DNT Brochure 2025 – ISV Solutions @ D365
GSA Content Generator Crack (2025 Latest)
AI Guide for Business Growth - Arna Softech
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Modern SharePoint Intranet Templates That Boost Employee Engagement in 2025.docx
Why Generative AI is the Future of Content, Code & Creativity?
How Tridens DevSecOps Ensures Compliance, Security, and Agility
Salesforce Agentforce AI Implementation.pdf
WiFi Honeypot Detecscfddssdffsedfseztor.pptx

Webdriver io presentation

  • 1. Automated tests with webdriverIO 1João Casalta Nabais
  • 2. What is WebdriverIO? • Allows you to control a browser using code • Out of the box hook integration with BDD frameworks: • Cucumber • Jasmine • Mocha • Out of the box support for reporters • Manages Selenium for you 2
  • 3. Setup 3 Feature Step Page Object WebdriverIO browser API Selenium Server Webdriver Browser Driver • geckodriver • chromedriver • safaridriver • iedriver • (…) Browser • firefox • chrome • Safari • ie • (…)
  • 4. Features Allows you to write the test cases using Gherkin (“natural language”), e.g.: 4 Search.feature
  • 5. Steps (Step Definitions) Responsible to “convert” gherkin statements to a set of code instructions, e.g.: 5 Search.feature google-search-steps.js
  • 6. Page Objects Represent the elements and actions of a web page, e.g.: 6 google-search-page.js google-search-steps.js
  • 7. Browser API Represent the elements and actions of a web page, e.g.: 7 google-search-page.js • browser – abstraction used for interacting with the web browser; • .url() – opens the browser in the provided URI • .waitForExist – waits for an element to exist in the DOM • .waitForVisible – waits for an element to be visible in the DOM • .isVisible() – returns true if the element is visible in the DOM, otherwise returns false
  • 8. Browser API Other useful commands: • browser.scroll([selector][,xoffset][,yoffset]); • browser.click(selector); • browser.pause(milliseconds); • browser.moveToObject(selector,xoffset,yoffset); • browser.setValue(selector,values); • browser.execute(script[,argument1,...,argumentN]); • browser.getCookie([name]); 8
  • 10. Reporters 10 • Allure • Xunit • Dot • Step • (…)
  • 11. Challenges • Configuration of Browsers • Stability of webdriverio project • Version matching (repos, selenium server, browser drivers, browsers) • E.g. If chrome automatically updates and by some reason you have a fixed chromedriver version it might break L • Support of webdriver protocol (JSON Wire) • Some drivers do not have all the actionsimplemented, so even if Webdriverio API sends the request to selenium, the driver might not have it supported for the targeted browser L (e.g. window maximize in latest chrome version) 11
  • 12. References • Gherkin Features • https://cucumber.io/docs/reference • Cucumber Step Definitions • https://cucumber.io/docs/reference#step-definitions • Page Objects • http://webdriver.io/guide/testrunner/pageobjects.html#description • https://martinfowler.com/bliki/PageObject.html • WebdriverIO API (Browser API) • http://webdriver.io/api.html 12
  • 13. References • WebdriverIO GitHub • https://github.com/webdriverio/webdriverio/ • WebdriverIO Gitter • https://gitter.im/webdriverio/webdriverio 13