nextcloud/tests
Daniel Calviño Sánchez 9313c9797f Add automatic handling of common command failures of Mink elements
Commands executed on Mink elements may fail for several reasons.
ElementWrapper is introduced to automatically handle some of those
situations, like StaleElementReference exceptions and ElementNotVisible
exceptions.

StaleElementReference exceptions are thrown when the command is executed
on an element that is no longer attached to the DOM. When that happens
the ElementWrapper finds again the element and executes the command
again on the new element.

ElementNotVisible exceptions are thrown when the command requires the
element to be visible but the element is not. When that happens the
ElementWrapper waits for the element to be visible before executing the
command again.

These changes are totally compatible with the current acceptance tests.
They just make the tests more robust, but they do not change their
behaviour. In fact, this should minimize some of the sporadic failures
in the acceptance tests caused by their concurrent nature with respect
to the web browser executing the commands.

However, the ElementWrapper is not a silver bullet; it handles the most
common situations, but it does not handle every possible scenario. For
example, the acceptance tests would still fail sporadically if an
element can become staled several times in a row (uncommon) or if it
does not become visible before the timeout expires (which could still
happen in a loaded system even if the components under test work right,
but obviously it is not possible to wait indefinitely for them).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-05-06 12:37:55 +02:00
..
acceptance Add automatic handling of common command failures of Mink elements 2017-05-06 12:37:55 +02:00
apps [App Code Check] add check for version and mandatory fields 2015-09-24 11:58:12 +02:00
Core Update login flow redirection 2017-05-04 19:21:22 +02:00
data Fix translations 2017-04-18 16:40:53 -05:00
docker Namespace and array syntax fixes 2017-03-19 14:52:54 -06:00
lib Make cache tests a bit more clear 2017-05-04 19:37:40 -03:00
objectstore make object prefix configurable 2016-11-14 15:10:56 +01:00
Settings consolidate setEnabled method 2017-04-29 00:59:09 -03:00
travis Changed name of default logfile from owncloud.log to nextcloud.log. 2016-07-04 11:50:32 +02:00
apps.php Fix the tests again 2016-05-25 16:51:02 +02:00
bootstrap.php unit test adjustment 2017-04-07 18:06:50 +08:00
enable_all.php Fix tests 2016-10-31 17:17:45 +01:00
karma.config.js Remove DOMPurify from srcFiles 2017-04-25 12:50:15 -03:00
phpunit-autotest-external.xml Adjust the phpunit config 2016-05-25 15:14:37 +02:00
phpunit-autotest.xml Fix tests 2017-04-04 10:29:12 +02:00
preseed-config.php add ci support for s3 object store 2017-01-02 14:17:19 +01:00
redis.config.php Add redis support to our CI jobs 2017-05-02 15:55:42 -03:00
startsessionlistener.php Make compatible with PHPUnit 5.1 2015-12-10 09:22:41 +01:00