We began automation testing of our new project, which is implemented on Angular6. We decided to split the testing of the front-end, back-end and user-scenarios.

To automate the testing of the back-end we selected the following stack of technologies:

Java + TestNG.

To test UI we need to select between: Protractor + TS and Selenide + Java.

Could you please suggest me what is easier or better to use to interact with elements of UI? As far as I know the Protractor is based on the WebDriverJS. What is the difference between it and Selenium WebDriver? Thanks in advance for any assist.

2 Answers 2


It totally depends upon your project requirement and team knowledge regarding which tool you want to use but here is my opinion

Why Protractor?

  • If you have an Angular.JS application, then Protractor is a logical choice, because it is designed to be used with Angular, and its JavaScript syntax will be familiar to the people working on an Angular project.
  • Protractor is a wrapper around WebDriverJS and supports behavior-driven development frameworks like Jasmine, Mocha, Cucumber etc.
  • As it is based on AngularJS concept, it makes easy to learn Protractor if you already know about AngularJS and vice versa.
  • It runs on real browsers and headless browsers.


  • Protractor also speeds up your testing as it avoids the need for a lots of “sleeps” and “waits” in your tests, as it optimizes sleep and wait times.

  • Angular-specific locator support: Protractor supports Angular-specific locator strategies including binding, model, repeater as well as native WebDriver locator strategies.

Please check out here Why protractor ,not selenium? and Protractor Testing


Protractor also uses selenium and webdriver. Before finalising any framework have a detailed plan on tool selection.

  1. Functionality support
  2. Locator strategy
  3. Object identification
  4. File and data handling
  5. Complex user interaction
  6. Data flow and store and retrieve
  7. Plugin addition
  8. Other language support - you may require to trigger other code from your framework sometimes if current tool not supportive
  9. Device interaction (If any) etc.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.