Commit graph

578 commits

Author SHA1 Message Date
David Monllao
afe9f42adb MDL-43173 behat: Thowing an exception if the JS is not ready 2014-01-03 11:27:54 +08:00
David Monllao
f49cede794 MDL-43404 behat: Avoid failures at framework level as much as possible
- Move them to i_look_for_exceptions() so they will be
  thrown at a step (scenario) level.
- Accept alerts only when they are detected to avoid
  all the following scenarios to be failing; they would
  continue executing, but they will all fail if the alert
  is still there
- Add a step to avoid add_scorm.feature to fail
- Refine the UnknownError catch
2013-12-19 15:48:03 +08:00
Eloy Lafuente (stronk7)
f77233dfaa Merge branch 'MDL-43404_master' of git://github.com/dmonllao/moodle 2013-12-18 02:24:08 +01:00
David Monllao
db3ecbd02a MDL-43404 behat: Removing auto accept_alert 2013-12-17 16:29:56 +08:00
Petr Škoda
60129d5d1f MDL-43213 try to simplify behat config and init code
1/ always require 3 behat settings - $CFG->behat_wwwroot, $CFG->behat_dataroot and $CFG->behat_prefix
2/ cleanup init code
3/ do not require $CFG->wwwroot and $CFG->dataroot on test sites
4/ remove switch completely - the most confusing part for me
5/ print out behat_wwwwroot in init script so that you can test the test site manually
2013-12-13 14:03:04 +08:00
David Monllao
fb99ef1ded MDL-42625 behat: Fixing failures
* Expanding fieldsets before setting the course format
* Ensure editors are loaded moved to expand_all_fieldsets
* Return true rather than false when JS is disabled and
  non-allowed steps should continue without throwing an
  exception.
* Submit create user form after editing it
2013-12-12 13:41:07 +08:00
David Monllao
c1faf86bd1 MDL-42625 behat: Make behat pacient
* When looking for texts inside the page or inside
  other containers we should wait until the elements
  are visible.
* Same when expanding tree nodes.
* Normalizing loops to spin() function using
  behat_base::TIMEOUT and behat_base::EXTENDED_TIMEOUT,
  leaving TIMEOUT for DOM load processes and
  EXTENDED_TIMEOUT for long processes that involves JS
  too.
* Add page load waits between actions that involves
  reloading the page.
2013-12-09 11:08:42 +08:00
David Monllao
d1e55a47be MDL-42625 behat: Step definitions + related changes in features
In general aiming for compatibility with multiple browsers,
firefox, chrome and phantomjs to be more specific.

* Removing hardcoded waits
* Adding @_alert, @_switch_window and @_switch_frame tags,
  to label actions that different drivers have problems with.
* Adding missing @_files_upload and @_only_local tags to features that
  uploads files.
* Fixing a few wait for page ready what specified miliseconds.
* New methods to ensure elements (usual selectors), sections and editors
  are ready to interact with
* Changing the select an option implementation to deal with the different
  drivers implementations when listening to JS events.
2013-12-06 13:10:24 +08:00
Damyon Wiese
6e2c417c1f MDL-41030 Behat: Add support for waiting for javascript
This is so that phantomjs (which runs faster than selenium) can pass the tests.
2013-12-06 12:13:39 +08:00
Marina Glancy
cde67a8377 MDL-42174 behat: change word filepicker to filemanager in step definitions 2013-12-05 21:00:26 +11:00
Marina Glancy
07622451a3 MDL-42174 behat: deprecate upload file to filepicker step in favour of filemanager 2013-12-05 21:00:25 +11:00
Marina Glancy
fcb6ed4776 MDL-42174 More behat tests for filepicker 2013-12-05 21:00:20 +11:00
Marina Glancy
6dfd8325f0 MDL-42731 behat: load 'Site administration' when expanding node in non-javascript mode 2013-12-02 17:44:32 +11:00
David Monllao
e7c71c448b MDL-42627 behat: Moving the deprecated method to behat_deprecate and updating scenarios 2013-12-02 14:13:17 +08:00
David Monllao
c3a40deab7 MDL-42627 behat: New steps definitions class for deprecated steps 2013-12-02 14:13:17 +08:00
Mark Nelson
a2d3e3b6ca MDL-42276 core_group: added behat tests to automate group actions
1. Added new step definitions to check if an element exists or does not exist in another.
2. Added new step definitions to check if an element is readonly or is not readonly.
3. Automated testing for MDLQA-1812 and MDLQA-1813.

Added behat test for deleting groups/groupings with and without the
'moodle/course:changeidnumber' capability.

4. Automated MDLQA-2105.

Added behat test for creating groups/groupings without the
'moodle/course:changeidnumber' capability.

5. Automated MDLQA-2238 and MDLQA-2335.

Added behat test for updating groups/groupings with and without the
'moodle/course:changeidnumber' capability.
2013-11-11 18:06:50 -08:00
Jerome Mouneyrac
066ef320af MDL-42332 Automate MDLQA-5260 and MDLQA-5261 - A badge can be awarded based on activity and course completion + add i_trigger_cron behat step 2013-11-04 17:17:58 +08:00
Ankit Agarwal
e5eff0b626 MDL-42287 behat: Use string from scorm content, instead of scorm structure 2013-11-04 15:52:42 +08:00
Dan Poltawski
9261a3b0d1 Merge branch 'MDL-39489_master' of git://github.com/dmonllao/moodle 2013-11-04 12:30:12 +08:00
David Monllao
63950e4d0b MDL-42236 behat: New steps to look for elements visibility 2013-11-01 08:55:27 +08:00
David Monllao
041cf62b1d MDL-42362 behat: Passing options to modules generators 2013-10-21 11:11:39 +08:00
David Monllao
89cf999a8d MDL-39489 behat: Updating to 2.6 moodlehq/behat-extension tag
Also solving new problem after Behat
2.5 upgrade.
2013-10-15 15:09:04 +08:00
David Monllao
e9af3ed361 MDL-42013 behat: I should (not)? see checking visibility
Only for non-Javascript tests. If the step
is named I should/should not see whatever
is makes sense that has to be visible.
2013-10-10 18:40:29 +08:00
David Monllao
5458ab3e2a MDL-42013 behat: Fixing problem with should not see
Using 'should see' outputs rather than an incorrect
xpath query. Also our custom selectors are not properly
used by WebAssert so switching to find xpath.
2013-10-04 14:38:11 +08:00
Petr Škoda
de230fd359 MDL-37324 fix phpunit and behat SESSION and USER setup 2013-09-24 08:59:29 +02:00
Petr Škoda
d79d5ac276 MDL-31501 rework user session architecture
List of changes:
 * New OOP API using PHP namespace \core\session\.
 * All handlers now update the sessions table consistently.
 * Experimental DB session support in Oracle.
 * Full support for session file handler (filesystem locking required).
 * New option for alternative session directory.
 * Official memcached session handler support.
 * Workaround for memcached version with non-functional gc.
 * Improved security - forced session id regeneration.
 * Improved compatibility with recent PHP releases.
 * Fixed borked CSS during install in debug mode.
 * Switched to file based sessions in new installs.
 * DB session setting disappears if DB does not support sessions.
 * DB session setting disappears if session handler specified in config.php.
 * Fast purging of sessions used in request only.
 * No legacy distinction -  file, database and memcached support the same functionality.
 * Session handler name included in performance info.
 * Fixed user_loggedin and user_loggedout event triggering.
 * Other minor bugfixing and improvements.
 * Fixed database session segfault if MUC disposed before $DB.

Limitations:
 * Session access time is now updated right after session start.
 * Support for $CFG->sessionlockloggedinonly was removed.
 * First request does not update userid in sessions table.
 * The timeouts may break badly if server hosting forces PHP.ini session settings.
 * The session GC is a lot slower, we do not rely on external session timeouts.
 * There cannot be any hooks triggered at the session write time.
 * File and memcached handlers do not support session lock acquire timeouts.
 * Some low level PHP session functions can not be used directly in Moodle code.
2013-09-21 13:11:56 +02:00
David Monllao
f59f6b6b75 MDL-41555 behat: Fixing catch statement location
The exception is thrown when getting the
browser session, not when accessing the first
URL.
2013-09-12 15:51:24 +08:00
Sam Hemelryk
33636b4040 Merge branch 'MDL-41587_master' of git://github.com/dmonllao/moodle 2013-09-11 08:52:52 +12:00
Sam Hemelryk
f605403fe2 Merge branch 'MDL-41555_master' of git://github.com/dmonllao/moodle 2013-09-11 08:51:02 +12:00
David Monllao
19f6703d8b MDL-41587 tool_behat: Adding site name constant 2013-09-05 10:13:25 +08:00
David Monllao
3b7d3fb8d7 MDL-41555 tool_behat: Improving behat & selenium exceptions messages
Also moving the 'selenium not running'
checking to a proper place as it was
not thrown since the homepage start
visit() was introduced.
2013-09-05 10:12:57 +08:00
David Monllao
17344d4c8f MDL-40566 behat: Moving from behat_command to behat_selectors 2013-09-03 10:28:42 +08:00
Sam Hemelryk
41b0597855 Merge branch 'MDL-40852_master' of git://github.com/dmonllao/moodle 2013-08-13 09:10:28 +12:00
David Monllao
81cd8572ba MDL-40673 behat: Data generator for permission overrides 2013-08-06 15:04:48 +08:00
David Monllao
95b43d6b90 MDL-40852 behat: Wrong URLs detection 2013-08-06 13:23:07 +08:00
Sam Hemelryk
6cd213567b MDL-40842 behat: fixed a typo 2013-08-01 20:15:29 +12:00
Sam Hemelryk
81387cafd5 MDL-40842 behat: Reverting to backtrace catchall as xdebug warnings were being missed 2013-08-01 17:03:25 +12:00
Sam Hemelryk
3e76c7fa68 MDL-40842 behat: improved exception + debugging detection 2013-07-29 10:51:55 +12:00
Sam Hemelryk
d853f819dc Merge branch 'MDL-40315_master' of git://github.com/dmonllao/moodle 2013-07-24 11:14:14 +12:00
Eloy Lafuente (stronk7)
97c51dfb22 Merge branch 'MDL-40672_master' of git://github.com/dmonllao/moodle 2013-07-23 17:45:22 +02:00
Damyon Wiese
0b92270b19 Merge branch 'MDL-38863_master' of git://github.com/dmonllao/moodle 2013-07-23 16:04:50 +08:00
David Monllao
a090296740 MDL-40672 behat: New activities data generator 2013-07-23 09:47:36 +02:00
David Monllao
72ddc05f67 MDL-38863 behat: Role assign generator 2013-07-23 09:46:39 +02:00
David Monllao
8cda2e6fe7 MDL-40123 behat: Show all of form's elements changes.
* Avoid waiting until Show more... links appears if we
  already waited.
* Use collapse/expand button rather than clicking on
  each of the form's fieldsets.
2013-07-19 10:03:39 +02:00
David Monllao
3897608152 MDL-39635 behat: XPath cleanups
- Escaping steps arguments redirected to other steps
- Adding normalized-space() in all contains() assertions
- General xpaths review
- Convering provided xpath text strings to xpath literals
  to avoid problems with arguments containing both single
  quotes and double quotes
2013-07-19 10:02:36 +02:00
David Monllao
dedb973878 MDL-39635 behat: Replacing hardcoded language strings
Using get_string() instead.
2013-07-19 10:02:10 +02:00
David Monllao
39ec828571 MDL-40690 behat: Ignore StaleElementReference exception
Is another of the exceptions thrown by
Selenium when it tries to interact with
an element that disappeared from the DOM,
in happens randomly when redirecting the
user to another page with a wait period to
show him/her a message.
2013-07-16 16:45:12 +02:00
David Monllao
8aea365f05 MDL-40315 behat: Performance improvement
We look for exceptions after each step, this patch
includes a pre-checking query to avoid multiple queries
for each step when most of the time they are not necessary.
2013-07-12 12:16:18 +02:00
David Monllao
bda1dea4de MDL-40562 behat: Catch NoSuchElement exception 2013-07-08 12:05:45 +02:00
David Monllao
d0a9a29bd0 MDL-40246 mod_forum: Changing scenario to non-JS
Also replacing hardcoded waits for a
wait to be redirected.
2013-06-27 14:24:00 +08:00