Steward v3.0.0-beta Release Notes
Release Date: 2021-03-20 // about 3 years ago-
➕ Added
- ✅
--parallel-limit
(-l
) option ofrun
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 fromrun
command when initializing PHPUnit processes) now contains array of environment variables instead of ProcessBuilder. UsesetEnvironmentVars()
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 = ...;
usepublic const BROWSER_WIDTH = ...;
. - 💻 When test class constants defining default browser width (
BROWSER_WIDTH
) or height (BROWSER_HEIGHT
) is set tonull
, 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 newSelect2
component andselectByVisiblePartialText()
method. - Instead of
TestUtils::getFixturePath()
useFacebook\WebDriver\Remote\FileDetector
instead. - Instead of
TestUtils::sleep()
useAbstractTestCase::sleep()
method instead.
- Instead of
getConfig()
method of ConfigProvider. Call the property instead directly on an instance of the ConfigProvider.- 🔧
--fixtures-dir
option of therun
command,fixtures_dir
option of configuration file andConfigProvider->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.