- Check if browser given to
run-tests
command is supported (this helps avoiding typos, interchange of browser and environment etc.).
- The
logs/results.xml
could now be also accessed locally (the XSLT is now embedded right into the file, so we don't encounter same-origin policy problems). - Use tagged version 0.6.0 of php-webdriver.
- Upgraded to Symfony 2.7 (causing eg. the
--help
format to change a bit - according to docopt standard)
- Properly trigger PHPUnit colored (ANSI) mode when Steward itself is in ANSI mode.
- Stop counting test's running time (shown in
results.xml
), if the test ended with fatal error (#6).
- Possibility to specify zero as
@delayMinutes
(eg. if you want to force test order, but don't need to actually wait) or to use floating point number as delay. - SyntaxSugarTrait with shortcuts for element locating and waiting (
$this->findBy...()
,$this->findMultipleBy...()
and$this->waitFor...()
) usable in TestCases and Components.
- BC: Global configuration constants replaced with Config object accessed through ConfigProvider. Thus all the global constants (BROWSER_NAME, ENV, SERVER_URL, PUBLISH_RESULTS, FIXTURES_DIR, LOGS_DIR, DEBUG) are no longer available, use the Config object instead.
- BC:
lib/
andlib-tests/
directories renamed tosrc/
andsrc-tests/
respectively. - BC: Changed namespaces of eg.
ConfigProvider
andProcessSet
.
- Workaround for Firefox locking port collisions (consequence of Selenium issue #5172) - if FF cannot be started, try it again up to five times
- New
debug()
method that output to log only in debug mode. Could be used in both TestCases and Components. - ext-curl requirement into composer.json (as CURL is needed by HttpCommandExecutor).
- Test-cases order is optimized before running tests, so that test-cases with the longest delay of theirs dependencies are run as first.
- Improved error messages when Selenium server is not accessible or when any of required directory does not exist.
- Error is thrown if not-existing method is called on AbstractComponent descendants.
- Properly handle PHPUnit_Framework_Warning when eg. data provider is invalid.
- Fix Xdebug being initialized even if the
--xdebug
option ofrun-tests
command was not passed at all.
@noBrowser
annotation on either test case class or test method could be used if you don't need to create new WebDriver (= browser window) instance.- Legacy component (imported from separate repository). It allows you to share data between test-cases.
- Verbose output of executed WebDriver commands is provided in debug mode of
run-tests
command (debug mode could be enabled using-vvv
). - Added
--xdebug
option torun-tests
command to allow simple remote debugging of tests using Xdebug.
- Test cases running longer than 1 hour are killed and their result is set as "Fatal" in
results.xml
.
- CHANGELOG.md file.
- Global
DEBUG
constant (is true if -vvv passed to run-tests), that could be used in tests to print some more verbose output. - The
install
command now checks for the latest version of Selenium server and interactively asks for confirmation. - Possibility to add custom test Publishers (enabled by
--publish-results
). Pass it as argument of TestStatusListener inphpunit.xml
. - During the
run-tests
execution, current test results are generated intologs/results.xml
. This is useful eg. on long-lasting Jenkins jobs or if you want to know more precise status of the current (or last) test run. - Shortcut to WebDriver in components - it's now possible to write
$this->wd
instead of$this->tc->wd
. - Possibility to set
--fixtures-dir
inrun-tests
command. This is handy eg. when tests are run on remote terminal and fixtures are located on network directory. - Possibility to set
--logs-dir
inrun-tests
command. Useful when Steward core is installed as dependency and is run from vendor/bin/. - Possibility to easily overload any browser-specific capability, using custom (overloaded) WebdriverListener.
- Specified group(s) could be excluded from the
run-tests
, using--exclude-group
option.
- The last argument of
run-tests
command (browser name) is now always required (as well as the environment name). - The
--publish-results
parameter is now used without a value (as a switch to enable publishing test results). - Unified testcases and test status and results naming:
- Testcases (= process) statuses: done, prepared, queued
- Testcases (= process) results (for "done" status): passed, failed, fatal
- Test statuses: started, done
- Test results (for "done" status): passed, failed, broken, skipped, incomplete
- The
install
command now outputs only full path to jar file in-no-interactive
mode (except-vv
or-vvv
is passed) and nothing else. - Path to tests in
run-tests
command is now defined using--tests-dir
. - Browser resolution is by default 1280x1024 and could easily be set eg. in AbstractTestCase using
$browserWidth
and$browserHeight
properties. - The
--group
option could now be specified multiple times to select multiple values forrun-tests
. - Both
run-tests
andinstall
commands now uses the project base directory as root path (for logs, test files, fixtures and as jar file installation) even if installed as dependency into vendor/ dir, so that it is not necessary to define the paths manually. - Commands are now triggering Events (see CommandEvents), which could be used to extend commands with custom features.