All Versions
26
Latest Version
Avg Release Cycle
100 days
Latest Release
1132 days ago
Changelog History
Page 1
Changelog History
Page 1
-
v3.0.0-beta Changes
March 20, 2021➕ 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.
- ✅
-
v2.3.5 Changes
January 20, 2020🔄 Changed
- Replace facebook/webdriver with its successor php-webdriver/webdriver.
-
v2.3.4 Changes
July 26, 2018🛠 Fixed
- ✅ Backport visibility fix of
setUp()
andtearDown()
methods of AbstractTestCase (to eg. allow use of lmc/coding-standard in projects using Steward).
- ✅ Backport visibility fix of
-
v2.3.3 Changes
March 12, 2018🛠 Fixed
- 🚀 Selenium server releases were incorrectly parsed, meaning
steward install
command will detect version 3.9.1 as the latest one (even though there are already released newer versions of Selenium server).
- 🚀 Selenium server releases were incorrectly parsed, meaning
-
v2.3.2 Changes
December 02, 2017🔄 Changed
- Increase minimal required version of PHPUnit and nette/reflections to maintain PHP 7.2 compatibility even with lowest possible versions of dependencies.
-
v2.3.1 Changes
October 30, 2017🛠 Fixed
- HTML timeline generated using
generate-timeline
command was not working properly in Safari.
- HTML timeline generated using
-
v2.3.0 Changes
October 11, 2017🔄 Changed
- If url endpoint (
/wd/hub
) is passed as part of server URL, it is automatically trimmed, as it is not necessary and will cause connection error.
🛠 Fixed
- ✅ Base directory (which affects default paths to tests, logs etc.) is now properly detected even when Steward is not installed in
/vendor
directory. - 0️⃣ Don't rely on default path to PHPUnit binary (
vendor/bin/phpunit
) to allow custombin-dir
andvendor-dir
Composer settings.
- If url endpoint (
-
v2.2.1 Changes
June 06, 2017🛠 Fixed
- 🏁 Minor Windows compatibility issues (dir paths passed to run command now respect system directory separator etc.).
- Compatibility with Symfony/Console 3.3 (
--xdebug
option behavior was incorrect with symfony/console 3.3.0).
-
v2.2.0 Changes
May 12, 2017➕ Added
- 🔧 Configuration file support 🎉. Useful for global Steward configuration which doesn't change for different runs. Place
steward.yml
orsteward.yml.dist
to base directory or use-c
/--configuration
option to define custom path to configuration file. Supported options are currently:capabilities_resolver
(given class must implement newCustomCapabilitiesResolverInterface
)tests_dir
logs_dir
fixtures_dir
- Event
command.pre_initialize
, triggered before initialization of any command is started. - Capabilities passed using
--capability
CLI option could now be forced to be specified as an string (by encapsulating the value into additional quotes). - ✅ Print total execution time at the end; in
-vv
and-vvv
modes print also execution after each testcase is finished. - ✅ Show total execution of each testcase when viewing
result.xml
file via browser (currently only execution time of each test was shown). Also show full test name (including testcase name) when hovering over its name.
🔄 Changed
- Capabilities are now resolved using
CapabilitiesResolver
class. - Require PHPUnit 5.7.
- ✂ Remove dependency on unmaintained Configula library (and internally reimplement configuration options retrieval).
- 👌 Improve
install
command output (eg. to always include path to downloaded file). - 🚚 Use custom method
Strings::toFilename
to convert class name to file name (and remove direct Composer dependency onnette/utils
).
🛠 Fixed
- Attempting to download not existing Selenium server version (with
install
command) will not create empty jar file but only show an error. - ✅ Do not throw misleading exception "Test case must be descendant of Lmc\Steward\Test\AbstractTestCase" when invalid data provider is used.
- ✅ Debug messages about destroying WebDriver instance on the end of each test were printed to the output before output of the actual tests.
- 🔊 Logs dir was not passed to PHPUnit processes, causing JUnit log files to be always written to
logs/
directory.
- 🔧 Configuration file support 🎉. Useful for global Steward configuration which doesn't change for different runs. Place
-
v2.1.0 Changes
January 16, 2017➕ Added
- ✅ Command
generate-timeline
to generate timeline-based visualization of test run into HTML file. - ✅ When test is started, url of the executing node is stored in the
results.xml
file. (Applies only for Selenium standalone server.) Select2
component for jQuery based Select2, which mimics behavior of nativeWebDriverSelect
(it actually uses the same interface; though not all methods are implemented).waitForTitleRegexp()
syntax sugar method to wait until current page title matches given regular expression (shortcut for newWebDriverExpectedCondition::titleMatches()
method).
🔄 Changed
- 🚀 Deprecate
TestUtils
. The class will be removed in next major release. This includes:- Deprecate default instantiation of TestUtils in TestCase -
$this->utils
property of TestCase. - Deprecate
TestUtils::setSelect2Value()
method. Use directly the newSelect2
component andselectByVisiblePartialText()
method. - Deprecate
TestUtils::getFixturePath()
method. UseFacebook\WebDriver\Remote\FileDetector
instead. - Deprecate
TestUtils::sleep()
method. UseAbstractTestCase::sleep()
method instead.
- Deprecate default instantiation of TestUtils in TestCase -
- ⬆️ Upgrade php-webdriver to version 1.3.0.
- ✅ Command