Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Selenium Camp - Cypress vs Selenium Wrappers

Selenium Camp - Cypress vs Selenium Wrappers

There is a lot of tools for UI automation in JavaScript – Cypress, Protractor, WebdriverIO, SelenideJS…

When you decide to do ui automation, you need to choose most flexible, maintainable, powerfull tool which can provide you reliable test results.

So…which one? 🙂

Avatar for Alexander Popov

Alexander Popov

February 23, 2019
Tweet

Other Decks in Technology

Transcript

  1. • Tutorials • API docs with description and examples •

    Courses - not official (online, offline) Protractor
  2. • Tutorials, FAQ • API docs with description and examples

    • Developer blogs • Support - email (paid) Cypress
  3. • Inner search + lazy elements • Filtering, but no

    built-in conditions for it Protractor
  4. • Inner search + element is lazy • No lazy

    Elements Collection and filtering WebdriverIO
  5. • Test-oriented - generally webdriver-like • Structure - fine, lot

    of Angular-related • Verbosity - if not Angular - fine for easy asserts Protractor
  6. • Test-oriented - good • Structure - heap, danger and

    required to memorize • Verbosity - short and clear with ‘sync-mode’ Cypress
  7. • Test-oriented - webdriver-like with a few helpers • Structure

    - ‘kucha mala’, but you don’t usually see it WebdriverIO
  8. • Test-oriented - webdriver-like with a few helpers • Structure

    - ‘kucha mala’, but you don’t usually see it • Verbosity - bulky cause of lack of power, even with ‘sync-mode’ WebdriverIO
  9. • Test-oriented - selenides built to provide it • Structure

    - placed to be easy to remember and use SelenideJS
  10. • Test-oriented - selenides built to provide it • Structure

    - placed to be easy to remember and use • Verbosity - not really SelenideJS
  11. PROTRACTOR CYPRESS WEBDRIVERIO SELENIDES DOCUMENTATION 3 5 4 1 LOCATION

    ELEMENTS 4 3 2 5 DYNAMIC STUFF 2 5 0 5 API OVERVIEW 3 4 2 5
  12. • Different browsers - no (only chrome) • Different devices

    - no • Parallelization • Poor, but yes Cypress
  13. • Different browsers - no (only chrome) • Different devices

    - no • Parallelization • Poor, but yes • Paid, or free using plugins Cypress
  14. • Different browsers - no (only chrome) • Different devices

    - no • Parallelization • Poor, but yes • Paid, or free using plugins • “Only for CI” Cypress
  15. PROTRACTOR CYPRESS WEBDRIVERIO SELENIDES DOCUMENTATION 3 5 4 1 LOCATION

    ELEMENTS 4 3 2 5 DYNAMIC STUFF 2 5 0 5 API OVERVIEW 3 4 2 5 RUNNING TESTS 3 2 4 5
  16. • No built-in error message, only static • Screenshot +

    Video with Selenoid Protractor WebdriverIO
  17. PROTRACTOR CYPRESS WEBDRIVERIO SELENIDES DOCUMENTATION 3 5 4 1 LOCATION

    ELEMENTS 4 3 2 5 DYNAMIC STUFF 2 5 0 5 API OVERVIEW 3 4 2 5 RUNNING TESTS 3 2 4 5 DEBUG 1 5 1 2
  18. 1. Cypress - 24 2. SelenideJS - 23 3. Protractor

    - 16 4. WebdriverIO - 13 Will have this
  19. • Protractor - no • Cypress • If you are

    ok with all its restrictions (chrome, parallelization, tabs, etc.) - best
  20. • Protractor - no • Cypress • If you are

    ok with all its restrictions (chrome, parallelization, tabs, etc.) - best • WebdriverIO • Mobile • When you need ‘sync-mode’ or plugins
  21. • Protractor - no • Cypress • If you are

    ok with all its restrictions (chrome, parallelization, tabs, etc.) - best • WebdriverIO • Mobile • When you need ‘sync-mode’ or plugins • SelenideJS • Can be used with modern test-runners and achieve best efficiency • Can be used with Protractor, WebdriverJS, WebdriverIO