Steward v3.0.0-beta Release Notes

Release Date: 2021-03-20 // 7 months ago
  • โž• Added

    • โœ… --parallel-limit (-l) option of run command to allow limiting maximum number of tests being run simultaneously.
    • โœ… Show test duration in timeline tooltips.
    • ๐Ÿ‘ PHP 8 support.

    ๐Ÿ”„ Changed

    • Require PHP 7.3+ and Symfony 5 components.
    • โšก๏ธ Update to namespaced PHPUnit. Set minimal required version to PHPUnit 8.5.
    • ๐Ÿ‘‰ Use php-webdriver 1.8+ with W3C WebDriver support.
    • โšก๏ธ Methods now uses strict type-hints and return type-hints. Inherited classes and interfaces (eg. CustomCapabilitiesResolverInterface, OptimizeOrderInterface etc.) may require to be changed in accordance with this.
    • โœ… Simplified and improved test output.
    • โœ… RunTestsProcessEvent (dispatched from run command when initializing PHPUnit processes) now contains array of environment variables instead of ProcessBuilder. Use setEnvironmentVars() method to change the variables passed to the process.
    • 0๏ธโƒฃ Default browser size is now defined using class constants instead of class variables. To override the default, instead of public static $browserWidth = ...; use public const BROWSER_WIDTH = ...;.
    • ๐Ÿ’ป When test class constants defining default browser width (BROWSER_WIDTH) or height (BROWSER_HEIGHT) is set to null, no default browser window size will be set on test startup.
    • ๐Ÿ”ง Don't hardcode timezone to Europe/Prague. Timezone is now used based on your PHP settings (date.timezone).
    • Server URL now must be provided including URL prefix (if it has one, like /wd/hub) - eg. http://foo.bar:4444/wd/hub. This means the /wd/hub part is now never auto-amended.
    • ๐Ÿ“ฆ Package symfony/polyfill-mbstring now provides mbstring functions even if PHP mbstring extension is not installed.
    • ๐Ÿ’ป Read annotations (like @group, @noBrowser etc.) using different and more-robust underlying libraries.

    ๐Ÿ›  Fixed

    • ๐Ÿ’ป Remote server running in W3C-protocol mode (eg. Selenium v3.5.3+) was erroneously detected as BrowserStack cloud service.
    • --xdebug option did not have any effect unless passed as the last option.
    • Properly auto-detect port 443 (not 80) when https server URL is used as --server-url.
    • โœ… Do not start browser for test skipped because it was depending on some already failed test (using @depends annotation).
    • โœ… Parsing the latest Selenium server version in install command.
    • ๐Ÿ–จ Do not print Error closing the session, browser may died. after Firefox closes the error.

    โœ‚ Removed

    • โœ… TestUtils class which was already deprecated in 2.1.
      • Instead of TestUtils::setSelect2Value() use directly the new Select2 component and selectByVisiblePartialText() method.
      • Instead of TestUtils::getFixturePath() use Facebook\WebDriver\Remote\FileDetector instead.
      • Instead of TestUtils::sleep() use AbstractTestCase::sleep() method instead.
    • getConfig() method of ConfigProvider. Call the property instead directly on an instance of the ConfigProvider.
    • ๐Ÿ”ง --fixtures-dir option of the run command, fixtures_dir option of configuration file and ConfigProvider->fixturesDir variable. They were deprecated in version 2.1.0 and no longer used since.
    • UniqueValue component. (You may use Faker or some other library for similar use-case.)
    • โœ… AbstractTestCaseBase class. It should probably not affect anything, as it was only used internally.
    • โ†ช Workarounds for legacy Firefox (version 47 and older) which are no longer needed.
    • ๐Ÿ‘ PhantomJS support.

Previous changes from v2.3.5

  • ๐Ÿ”„ Changed

    • Replace facebook/webdriver with its successor php-webdriver/webdriver.