Skip to content

v2.4.0

Latest
Compare
Choose a tag to compare
@aik099 aik099 released this 15 Jul 11:01
· 1 commit to master since this release

Added

  • Specify failed PHPUnit assertion text to the BrowserStack ("reason" field)/SauceLabs("custom-data" field) test.
  • Added the $auto_create parameter to the BrowserTestCase::getSession method, which allows to verify if session is already started.
  • Added the ISessionStrategy::isFreshSession method to indicate fact, that previous ISessionStrategy::session call has created a new session instead of reusing a previously created one. Can be used to perform a login once per a test case class.

Changed

  • Bumped minimum PHP version to 5.6.
  • Changed default OS from "Windows 7" to "Windows 10" for BrowserStack/SauceLabs browser configurations.
  • Allow using self-signed/invalid SSL certificates during testing on the SauceLabs by default.
  • Rewritten library object communication mechanism (the event dispatcher is no longer used). Update any custom session strategy/browser configuration implementations.
  • Reduce memory consumption by rewriting SessionStrategyFactory and SessionStrategyManager classes.
  • (Not a BC break) Some public methods of the BrowserTestCase class are protected now. Affected methods: setRemoteCoverageScriptUrl, setBrowser, getBrowser, setSessionStrategy, getSessionStrategy, getCollectCodeCoverageInformation, getRemoteCodeCoverageInformation.
  • (Not a BC break) Some protected properties of the BrowserTestCase class are private now. Affected properties: sessionStrategyManager, remoteCoverageHelper, sessionStrategy.
  • Bumped minimal required Behat/Mink version to 1.8 (needed after SessionProxy class removal).
  • Shared session strategy now also closes popups left over from the previous test before switching back to the main window.
  • Bumped minimal required console-helpers/phpunit-compat version to 1.0.3 to load classes through the custom autoloader script.

Fixed

  • The remote code coverage collection cookies were set even, when the remote code coverage script URL wasn't specified.
  • The BrowserTestCase::onTestSuiteEnded method was called for tests, excluded through the --filter option of the PHPUnit.