My company is going to slowly transition from angular.js to vue.js. I have protractor tests set up and running successfully. Aside from the page objects specific to angular, is there anything that needs to change in the Protractor configuration?

Edit: For clarification, we will be running angular and vue simultaneously as it will be a slow transition so I will need to maintain waitForAngular on some pages.


Essentially Protractor is an wrapper over selenium to handle specifics of angularJS & angular.If you turn off angular specifics( like waitForAngularEnabled) in your framework, then basically you can use it for any UI automation where you can use selenium.

As far as waitForAngularEnabled is concerned, it can be enabled/disabled anytime as required between steps/pages by passing around in the framework functions as a dynamic setting/flag variable.

  • But what if we are going to be running both versions simultaneously while we move over? I will need angular specifics in some instances. – kylokyler Apr 8 '18 at 1:56
  • What are your angular specifics in your framework or in configuration? – Vishal Aggarwal Apr 8 '18 at 2:06
  • This is highly subjective to your framework implementation for which you did not provide any information. – Vishal Aggarwal Apr 8 '18 at 2:08
  • I would maintain multiple versions of framework if it helps. – Vishal Aggarwal Apr 8 '18 at 2:13

There are simple ways to remove errors to get your protractor tests to start running against you vue backend however the big issue you will face is that the ephemeral IDs that each framework uses for the HTML they generate will be done differently , this will most likely cause selenium to fail to find specific page elements to test, this could be very time consuming for a large suite , possibly more than re-write.

Protractor was written for angular but not vue , whilst vue started out from the same place they have gone different ways , especially angular2.

The recommended test tool for vue is Jest , i would recommend taking a spike task to see how complex it is to migrate a set of reasonably complex tests to Jest , you might find it at lot easier. You could run subsets of both sets of tests if you find there isn't a clear winner.

The goal in test is always to demonstrate the functionality as simply and reliably as possible.

  • Amias, can we use Jest in place of Selenium ? – Vishal Aggarwal Apr 6 '18 at 11:47
  • you can use Jest to drive selenium - github.com/alexeyraspopov/jest-webdriver – Amias Apr 6 '18 at 14:23
  • Yes, similarly Jest cannot be compared with Protractor as well , as they are two different things.It is like use hammer instead of screwdriver. Protractor is an UI automation framework on top of webdriverJS which itself is selenium binding in JavaScript where Jest is an unit testing framework so in any case it will require an automation library to interact with UI. – Vishal Aggarwal Apr 6 '18 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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