Commit Graph

63 Commits

Author SHA1 Message Date
Andrew Nicols 86d20a95c8 Revert "Merge branch 'MDL-49154_27' of git://github.com/timhunt/moodle into MOODLE_27_STABLE"
This reverts commit e0312ddb49, reversing
changes made to 636eb3726c.
2015-02-19 09:18:40 +08:00
Tim Hunt 3d3b2669c9 MDL-49154 behat: step to type with focus on a given element 2015-02-12 20:15:52 +00:00
Rajesh Taneja b6fcba4636 MDL-48624 behat: Added extended timeout to ensure step pass
following_should_download_between_and_bytes step sometimes
fails because of server speed. Added extended timout
ensuring they wait enough before failing.
Also, not calling force download while running behat site
2015-01-30 08:55:54 +08:00
Andrew Nicols d02eaee727 Revert "Merge branch 'wip-mdl-48624-m27' of https://github.com/rajeshtaneja/moodle into MOODLE_27_STABLE"
This reverts commit 85ea64f5ee, reversing
changes made to 1db2e142a2.
2015-01-22 12:17:17 +08:00
Andrew Nicols e47d85fadb Merge branch 'wip-mdl-48761-m27' of https://github.com/rajeshtaneja/moodle into MOODLE_27_STABLE 2015-01-21 10:22:35 +08:00
Rajesh Taneja 68e1853422 MDL-48761 behat: Added new step for debugging scenarios 2015-01-21 10:18:25 +08:00
Rajesh Taneja 5f5c2b846d MDL-48624 behat: Added extended timeout to ensure step pass
following_should_download_between_and_bytes step sometimes
fails because of server speed. Added extended timout
ensuring they wait enough before failing.
Also, not calling force download while running behat site
2015-01-19 10:19:27 +08:00
Dan Poltawski 6a2cd3d21d MDL-48653 behat: fix incorrect phpdoc 2014-12-22 13:13:55 +00:00
Tim Hunt 0cb5521993 MDL-48653 behat: Steps to click and dismiss a dialogue.
We already had the corresponding
    I click on "Home" "link" confirming the dialogue
but I needed the opposite
    I click on "Home" "link" dismissing the dialogue
2014-12-18 19:31:17 +00:00
Tim Hunt af33173512 MDL-48373 behat: find table columns better.
It was not possible to select the question bank 'Created by'
or 'Modified by' columns without this change.
2014-12-05 12:19:17 +00:00
Eloy Lafuente (stronk7) 71b1aefcf6 MDL-48374 behat: Added missing $session 2014-12-04 13:26:58 +01:00
Rajesh Taneja d17de5db94 MDL-48374 behat: Check flag before searching for span on page 2014-12-04 13:26:58 +01:00
Andrew Nicols 4ef9c95b97 MDL-48374 behat: improved page load detection
Check that page load detection was correctly started before testing that a
new page was loaded.

Without this, it is possible to have mutliple subsequent cases of:
    And a new page should have loaded since I started watching

Without first starting the page load detection.
2014-12-04 13:26:58 +01:00
Sam Hemelryk fd6dab3d50 MDL-48374 behat: improved page load exceptions
The following improvements have been made to the page load watching:
* Improved the exceptions when a page load expectation fails.
* Added an exception if start watching happens twice without a page load.
* Improved the page load span and xpath to make it faster and less likely
  to interfer in the future.
2014-12-02 11:44:06 +13:00
Tim Hunt 8fbf748b27 MDL-48374 behat: new steps for detecting page loads. 2014-12-02 08:58:19 +13:00
Tim Hunt 2be10633d8 MDL-47588 behat: fix switching back to the main window in Chrome
This fix is mostly based on what Colin Chambers found out. This commit
is a simplification of his work.

The problem is that the Chrome / Selenium 2 integration cannot swich to
a window with a blank name. The work-around applied here is, when we
switch away from an unnamed window, we set a name on it. Then we can use
that name to switch back.
2014-10-24 17:48:38 +01:00
Tim Hunt 74d0792515 MDL-47497 behat: steps for basic download testing.
These steps were created by sam marshall and Jes Ackland-Snow at the Open
University. I just altered them to make them a bit more generic, and
submitted them to Moodle core, at the point when I wanted to reuse them
in another plugin.

This commit introduces two new steps:

Then following "XXX" should download "YY" bytes
Then following "XXX" should download between "YY" and "ZZ" bytes

At the moment, this only works for links with href attributes.
2014-10-08 19:54:07 +08:00
Marina Glancy f4df7d7961 MDL-47492 behat: refer to table column indexes instead of names 2014-10-02 15:59:48 +08:00
Marina Glancy fe38ae10d3 MDL-47154 behat: escape user supplied strings in xpath 2014-09-22 13:24:21 +08:00
Rajesh Taneja 7a7546eb64 MDL-47154 behat: extended table head look up to check if header is link
Header can be a link, this step will now look if
header has a text or header link has the text

Part of MDL-46191
2014-09-22 13:24:13 +08:00
Mark Nelson f367cfcbef MDL-46923 core_behat: fixed typos in function names 2014-08-20 22:11:31 -07:00
Rajesh Taneja 50eb74065b MDL-46817 behat: Step to check if value exist/not in table column 2014-08-18 10:01:06 +08:00
Rajesh Taneja c1ee80fef5 MDL-46061 behat: Fixed blur event problem for atto_image
atto_image look for blur event after changing width/height
Added a new step to get focus off the element, so this can
work.
2014-06-26 10:29:35 +08:00
David Monllao e0cd7e44db MDL-45192 behat: Replacing specific-selector steps by a generic one
Having a I click on we can use all our selectors rather
than having multiple steps for the same purpose. This
step allow us to manage JS native dialogues without
having to fail a scenario.

Credit for Mohamed Alsharaf.
2014-05-26 13:57:23 +12:00
Mohamed Alsharaf 184cdf0d52 MDL-45192 assign: added behat script & new definitions to handle alert dialog
The behat script is to test the batch action to lock and unlock submissions.
The new definitions are to prevent the "unexpected alert open" error in Selenium.
2014-05-26 13:57:18 +12:00
Rajesh Taneja ae3b9e1e1f MDL-45514 behat: Fixed should_not_exist timout param 2014-05-12 14:13:21 +08:00
sam marshall 90c3ffe3a3 MDL-44991 Behat: step to check if attribute does not contain text
The step checks that an attribute exists, but doesn't contain the
specified text.

Example:
Then the "class" attribute of "#mydiv" "css_element" should
not contain "accesshide"
2014-04-11 11:00:25 +01:00
sam marshall c0fb7f4417 MDL-44891 Behat: Add step to check attribute
This commit creates a Behat step of the form:

Then the "title" attribute of "Toggle visibility" "button"
should contain "Show"

This is useful because unless I missed something there is currently
no step that checks attribute values; this seems like a simple
generic step. Behat is intended to check user-visible effects in
the resulting HTML, and sometimes these effects are implemented
using attribute values (two common examples are the alt= attribute,
which is visible to screenreader users, and the title= attribute,
which is visible to all users; there's also the src attribute of
images, and lots of other possibilities too).
2014-04-04 18:16:28 +01:00
Rajesh Taneja 3b0b5e570d MDL-44557 behat: Allow nehat to resize window
Run all behat with medium (1024x768) screen size to
avoid failures with small screen size. Also, added
feature to let scenario chnage screen size if need be.
2014-03-26 13:59:14 +08:00
David Monllao 759b323e0e MDL-43236 behat: Updating references to deprecated methods 2014-03-07 16:05:21 +08:00
David Monllao c51c3b5575 MDL-43236 behat: Deprecate old steps
Correcting grammar errors and deprecating
the previous steps definitions:
- behat_data_generators::the_following_exists()
- behat_general::should_exists()
- behat_general::should_not_exists()
2014-03-07 16:05:21 +08:00
David Monllao 74c78e7483 MDL-43837 behat: Adding reduced timeouts
There are steps where we want to check that
"something" does not appear in the page
or does not exist. We still have to spin
but we don't need to spin for 6 seconds.
2014-02-24 09:43:24 +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
David Monllao e7c71c448b MDL-42627 behat: Moving the deprecated method to behat_deprecate and updating scenarios 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
David Monllao 63950e4d0b MDL-42236 behat: New steps to look for elements visibility 2013-11-01 08:55:27 +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
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 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 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
David Monllao 9a1f4922bd MDL-39795 behat: Improving find-texts-in-page-contents performance 2013-05-27 14:24:20 +08:00
David Monllao 7daab4016d MDL-39717 behat: Add info to experimental steps definitions
JS modal dialogs and drag & drop should be
considered experimental as the steps are not
working as expected in all OS/browser combinations.
2013-05-17 11:23:05 +08:00
David Monllao 563514b10c MDL-39051 behat: New general steps definitions
- To accept JS alerts
- To drag & drop elements
2013-05-09 14:27:41 +08:00
David Monllao 1303eb290f MDL-38958 behat: Step definitions to interact with popup windows 2013-04-11 13:58:11 +08:00