1

Our applications flow start on desktop. At later phase there are some scenarios where the processes require an approval on a touch device. The user waits at a page on desktop. If the user opens the same page (same angular application) on a touch device then another page opens where he/she needs to accept or reject the flow. The user blocked on desktop during the tablet phase, but after it was accepted (or rejected) the flow moves to the next (or previous) page.

We would like to create some e2e test for those scenarios. I thought we could open a chrome browser instance (normal, desktop mode), go to tablet phase, then open chrome instanse (touch device compatibility) and after continue on desktop. Are there any way to achieve something like this? Currently we use angular 8 with protactor but any framework is fine.

Thanks!

2
  • protractor supports appium mobile browsers
    – PDHide
    Commented Mar 4, 2020 at 16:00
  • Are you asking for "manual" e2e test cases or an automated way to test e2e test cases?
    – Lee Jensen
    Commented Mar 4, 2020 at 16:28

1 Answer 1

1

Surprisingly there is no tool to support multi client scenarios and synchronization out of the box as far as I know (looking for a new startup idea ?).

The general architectural problem you are trying to solve is one test, running somewhere, while controlling and getting feedback from N clients. This means you'll need the following building blocks:

  • A central management system to orchestrate tests and resources. Queuing test jobs, assigning clients and a machine to execute the test itself, be the hub for communication and generate test results.

  • A machine to run the test on, physically this can be the same machine as the central management runs on or one of the clients, but that won't scale nicely.

  • A test client, it will run commands on a browser or mobile device (mobiles usually needs a PC to control them) and report the results back

  • Communication channels between the above

In one of my previous companies we've built just that, unfortunately it was an internal tool so I can't disclose the exact details, but you can get some ideas from King's technical blog- our solution used a similar general approach.

Note that you can simply use Selenium Grid, and at the test side make sure to have multiple, isolated, thread safe, copies of your connection object. Here's an article I have found describing it. You should remember though that you'll quickly run into limitations of this solution, for example how do you ensure that you get the requested N clients for the test ? How do you handle delays ? King's solution put's the controlling element close to the tested element while Selenium Grid requires different and longer.

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.