SlideShare a Scribd company logo
http://assertselenium.com
Async webdriverjs
•
•
Async webdriverjs
HOW MANY USE JAVASCRIPT FOR TESTING ?
ACHILLE'S HEEL
Async webdriverjs
Async webdriverjs
Async webdriverjs
Async webdriverjs
CONTINUATION PASSING OR PYRAMID OF DOOM
Async webdriverjs
VERBOSE
•
•
•
•
•
WebdriverJs with Promise Manager
Equivalent Java code
•
•
•
Async webdriverjs
Async webdriverjs
Async webdriverjs
•
•
Async webdriverjs


•
•
•
•
•
•
task.js
•
Yield blocks until execution is done.
•
•
•
Async webdriverjs
•
•
Async webdriverjs
Async webdriverjs
•
•
•
•
•
•
•
• PROMISE.USE_PROMISE_MANAGER = FALSE
•
•
•
•
•
•
•
•
•
•
•
•
Async webdriverjs
Async webdriverjs
Async webdriverjs
Untouched for 3 years now
Long! Long !! Ago!!!…...
Async webdriverjs
• https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-
webdriver/example/async_await_test.js
• https://github.com/tourdedave/elemental-selenium-tips/
• https://github.com/airware/webdriver-mocha-async-await-example
Async webdriverjs

More Related Content

What's hot (20)

PPTX
Parallel Testing with Python with Selenium and Sauce Labs
Sauce Labs
 
PPTX
Selenium Automation at Incapsula
adamcarmi
 
PDF
Embrace Native Async Nature of JavaScript in WebDriver JS - SeleniumConf Aust...
Selenium Conference Austin 2017
 
POTX
Simplify CI with the Updated Jenkins Plugin for Sauce Labs
Sauce Labs
 
PPTX
Advanced Appium
Dan Cuellar
 
PDF
Automated-Testing-inside-containers
Manoj Kumar Kumar
 
PPTX
End to end test automation with cypress
PankajSingh184960
 
PPTX
Cross browser Testing JavaScript
Alan Parkinson
 
PPTX
How to Get Started with Cypress
Applitools
 
PDF
Testing Code.org's Interactive CS Curriculum
Brian Jordan
 
PDF
Automated testing with Cypress
Yong Shean Chong
 
PPTX
Introduction to cypress in Angular (Chinese)
Hong Tat Yew
 
PDF
Continuous Delivery for Front-End Engineers
Sergey Bolshchikov
 
PDF
Automation Best Practices
Sauce Labs
 
PDF
No more waiting for API - Android Stub Server
Sylwester Madej
 
PDF
Testing on Mobile Devices with Location Services
Sauce Labs
 
PPTX
Cross browser testing with browser stack
Denys Poloka
 
PDF
QAAgility Presentation - Cucumber with Appium
QAAgility Technologies
 
PDF
Composer at Scale, Release and Dependency Management
Joe Ferguson
 
PPTX
Controlling the browser through python and selenium
Patrick Viafore
 
Parallel Testing with Python with Selenium and Sauce Labs
Sauce Labs
 
Selenium Automation at Incapsula
adamcarmi
 
Embrace Native Async Nature of JavaScript in WebDriver JS - SeleniumConf Aust...
Selenium Conference Austin 2017
 
Simplify CI with the Updated Jenkins Plugin for Sauce Labs
Sauce Labs
 
Advanced Appium
Dan Cuellar
 
Automated-Testing-inside-containers
Manoj Kumar Kumar
 
End to end test automation with cypress
PankajSingh184960
 
Cross browser Testing JavaScript
Alan Parkinson
 
How to Get Started with Cypress
Applitools
 
Testing Code.org's Interactive CS Curriculum
Brian Jordan
 
Automated testing with Cypress
Yong Shean Chong
 
Introduction to cypress in Angular (Chinese)
Hong Tat Yew
 
Continuous Delivery for Front-End Engineers
Sergey Bolshchikov
 
Automation Best Practices
Sauce Labs
 
No more waiting for API - Android Stub Server
Sylwester Madej
 
Testing on Mobile Devices with Location Services
Sauce Labs
 
Cross browser testing with browser stack
Denys Poloka
 
QAAgility Presentation - Cucumber with Appium
QAAgility Technologies
 
Composer at Scale, Release and Dependency Management
Joe Ferguson
 
Controlling the browser through python and selenium
Patrick Viafore
 

More from Manoj Kumar Kumar (10)

PPTX
Tips from the trenches Accessibility Testing
Manoj Kumar Kumar
 
PDF
Observability: Distributed Tes environment
Manoj Kumar Kumar
 
PPTX
Selenium-4-and-appium-2
Manoj Kumar Kumar
 
PPTX
Selenium-4
Manoj Kumar Kumar
 
PPTX
GAAD-Deque-Accessibility-webinar
Manoj Kumar Kumar
 
PDF
Testing for Inclusive Web: Accessibility
Manoj Kumar Kumar
 
PPTX
Mobile Automation with Appium
Manoj Kumar Kumar
 
PDF
Test Automation Infrastructure with Containers
Manoj Kumar Kumar
 
PDF
Automated-Accessibility-Testing
Manoj Kumar Kumar
 
PPTX
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Manoj Kumar Kumar
 
Tips from the trenches Accessibility Testing
Manoj Kumar Kumar
 
Observability: Distributed Tes environment
Manoj Kumar Kumar
 
Selenium-4-and-appium-2
Manoj Kumar Kumar
 
Selenium-4
Manoj Kumar Kumar
 
GAAD-Deque-Accessibility-webinar
Manoj Kumar Kumar
 
Testing for Inclusive Web: Accessibility
Manoj Kumar Kumar
 
Mobile Automation with Appium
Manoj Kumar Kumar
 
Test Automation Infrastructure with Containers
Manoj Kumar Kumar
 
Automated-Accessibility-Testing
Manoj Kumar Kumar
 
Automated Testing with Google Chrome - WebDriver- ChromeDriver
Manoj Kumar Kumar
 
Ad

Recently uploaded (20)

PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PPTX
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Human Resources Information System (HRIS)
Amity University, Patna
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Help for Correlations in IBM SPSS Statistics.pptx
Version 1 Analytics
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
AEM User Group: India Chapter Kickoff Meeting
jennaf3
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Tally software_Introduction_Presentation
AditiBansal54083
 
SAP Firmaya İade ABAB Kodları - ABAB ile yazılmıl hazır kod örneği
Salih Küçük
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
In From the Cold: Open Source as Part of Mainstream Software Asset Management
Shane Coughlan
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
Ad

Editor's Notes

  • #5: 1060723.5 => Monthly
  • #12: Instead of using continuation passing, WebDriverJS uses "promises" to track the state of each operation
  • #14: Even for such a simple example - longer scripts could easily get out of hand. In order to provide an API that cleanly handles asynchronous actions without impeding readability, 
  • #15: ControlFlow allows users to focus on the imperative commands for their script without worrying about chaining together every single asynchronous action, which can be tedious and verbose
  • #17: A task queue contains all of the tasks scheduled within a single turn of the JavaScript event loop. The control flow will create a new task queue the first time a task is scheduled within an event loop.
  • #19: Promise Manager expose then and done
  • #28: ONE THING TO NOTICE IS THAT WE STILL HAVE TO USE SELENIUM-WEBDRIVER TESTING MODULE
  • #33: Upload Test, Cookie Test, Frame test.
  • #36: Await helps readability and/or debuggability. Even without the promise manager, there are a few parts in the API that smooth over the async bits so you don't have to handle every promise. Mainly this is when creating/fetching a WebDriver, WebElement, or Alert instance.
  • #37: Return HTTP status code of the baseURL of your app.
  • #41: WebdriverIO user run their tests synchronously .. it makes things so much easier. Also most of the WebdriverIO user use the wdio testrunner to scale their tests. Make sure sync: false in the config