Currently we include all the Mahara testing code in the main Mahara branch. This would work fine, except that rapid changes in Firefox mean that we need to make rapid changes in our Selenium interface, and all of these need to be backported into the testing code for all branches that are still supported.
Effectively, this means that *all* testing-related code needs to be synchronized across all supported branches.
The easiest way to ensure that is to move the testing code out of the main Mahara branch. For the time being, a git submodule is probably the best approach.
Because some of the Behat steps need to be different between the different Mahara versions (for instance, navigation steps need to take into account changes in the menu structure's HTML), the Behat subproject may need to have code that sniffs the Mahara version it's running against and makes changes accordingly.
Patch for "master" branch: https:/ /reviews. mahara. org/6126