Developer here. Our QA team is researching new strategies for E2E testing for a new product. To start, it will be an Angular SPA, and eventually a PWA.

They are leaning towards using Quantum / Perfecto, but some concerns have been expressed around the asynchronous nature of the SPA requiring waits and causing intermittent failures.

The most common solution I see to this problem is to use Protractor, which is built with Angular in mind. However, this requires a level of development that our current QA team can't manage.

Would anyone have any tool suggestions that would be easier for our QA to pick up? Or is there some way to tie Protractor into Quantum to leverage it's wait functionality, while still being able to use the GUI for Quantum tests? Aren't they both powered by Selenium?

Any other tips or tricks related to SPA development? Are we making this a bigger problem than it needs to be?


  • 1
    protractor is made really simple with the use of async-await, now it's easier than using java – PDHide Mar 24 at 15:44
  • 3
    "requires a level of development that our current QA team can't manage" -- can you expand on this? What can't they manage? Do they have programming skills? Are they able to code in JavaScript? Understanding the current skill level and problems your QA team is facing would help provide a better answer. – Lee Jensen Mar 24 at 16:00
  • Using Protractor should be straightforward solution here as long QA team can write simple javaScript code. – Vishal Aggarwal Apr 15 at 16:07
  • What makes you think, QA team won't be able to manage Protractor scripting? – Vishal Aggarwal May 29 at 1:04

A partial answer could be using cucumber with protractor, you'll have the stability of Protractor with the simplicity of cucumber's DSL. You can actually choose any other test framework to be used with Cucumber, like Cypress, some frameworks are better fitted to some scenarios than others, here's a good introduction (although it is slightly outdated, for example about Protractor).

You, as developers, might need to set up the infrastructure and maintain a page object.

Setup is a one time effort that shouldn't take too long for an experienced developer, there's a lot of documentation and examples online.

Maintaining a page object as part of the development process have many positive side benefits, for example always keeping the test environment in sync with the product or being used as simple regression test and will strengthen the relationship between testers and developers. Again this is not a big effort per change once the basics have been created. Add "update the PageObject" to your definition of done to ensure that it is being done.

| improve this answer | |

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.