~/talk

Asynchronous Selenium: How to Survive JS Testing

TalkinRussianat Selenium Camp 2017 · 2017-02-24..02-25· [javascript, testing]
slides:none on file

The talk explains problems testing JavaScript UIs with Selenium when every WebDriver operation is asynchronous and returns a promise, which leads to callback hell. It demonstrates using promises, generators (co), async/await and fibers to linearize control flow and compares Selenium WebDriver JS, Protractor, webdriverio, Nightwatch, CucumberJS and CodeceptJS, showing tradeoffs; it also describes a higher‑level approach used in CodeceptJS that combines Cucumber‑style steps with global promise tracking to produce more readable linear tests while still exposing some async edge cases.

AI-written summary · about

  1. 0:00Introduction
  2. 1:51Speaker background
  3. 3:37Synchronous programming problem
  4. 5:01Async as natural model
  5. 8:33Sync vs async approaches
  6. 9:36Async issues in automation
  7. 11:23JavaScript events explained
  8. 13:14Callback hell problem
  9. 13:54Promise solution
  10. 16:25Generators in async
  11. 17:50Async/await sugar
  12. 18:34Fibers critique
  13. 19:56Async testing libraries
  14. 22:03WebDriver JS integration
  15. 22:44WebDriverJS official
  16. 23:52WebdriverIO alternative
  17. 24:56Protractor issues
  18. 26:18Protractor async solution
  19. 28:50Cucumber testing tool
  20. 30:20Concept for async tests
  21. 33:51Summary and tool choice
  22. 35:35Async test challenges
  23. 38:10Why JavaScript for testing
  24. 40:40Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.