protractor-multi

Write protractor tests that can run and control multiple browsers windows at the same time. This allows you to write tests where changes made by one user in a browser are displayed in the other users browser.

Background

Protractor is an e2e testing framework for AngularJS. It provides an interface on-top of webdriver that makes it easier to write tests for AngularJS applications. Sadly it only supports a single browser window and I was building a socket based game so wanted to control multiple browser windows. This lead me to fork protractor and create a proof of concept called protractor-multi. I started a discussion on protractor issue list https://github.com/angular/protractor/issues/381 to discuss adding such functionality to protractor but as yet that move hasn't been supported.

This video shows protractor-multi running two browsers at the same time. As users log in on one browser their activity is asserted on the other browser. Currently I am only using it to test chat and registration but hopefully will add more test cases as the game takes shape.

Source

The source code for my fork is available on github https://github.com/bobthekingofegypt/protractor. This version needs to be npm link'ed in as it is not available in npm.