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.
2 Answers 2
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– kylokyler2018年04月08日 01:56:48 +00:00Commented Apr 8, 2018 at 1:56
-
What are your angular specifics in your framework or in configuration?Vishal Aggarwal– Vishal Aggarwal2018年04月08日 02:06:55 +00:00Commented Apr 8, 2018 at 2:06
-
This is highly subjective to your framework implementation for which you did not provide any information.Vishal Aggarwal– Vishal Aggarwal2018年04月08日 02:08:49 +00:00Commented Apr 8, 2018 at 2:08
-
I would maintain multiple versions of framework if it helps.Vishal Aggarwal– Vishal Aggarwal2018年04月08日 02:13:45 +00:00Commented Apr 8, 2018 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– Vishal Aggarwal2018年04月06日 11:47:25 +00:00Commented Apr 6, 2018 at 11:47
-
you can use Jest to drive selenium - github.com/alexeyraspopov/jest-webdriverAmias– Amias2018年04月06日 14:23:04 +00:00Commented Apr 6, 2018 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– Vishal Aggarwal2018年04月06日 20:34:38 +00:00Commented Apr 6, 2018 at 20:34
Explore related questions
See similar questions with these tags.