Commit graph

460 commits

Author SHA1 Message Date
Andrew Nicols
50b9866e54 MDL-66979 behat: Core updates for W3C WebDriver
This commit updates core Behat features to make use of the
php-webdriver/webdriver library instead of the legacy Instaclick
library.

Most of these changes relate to use of features of WebDriver which we
are required to use directly rather than through the Mink Driver.
2021-01-22 14:52:09 +08:00
Andrew Nicols
31402aa406 MDL-69107 user: Fix autocomplete usages 2020-12-16 07:50:56 +08:00
Andrew Nicols
f07d3b71d2 MDL-69107 form_autocomplete: Rewrite item selection
The form_autocomplete is essentially a custom element. Unfortunately the
`setValue()` function in Mink has undesired actions so it is necessary
to write our own handling for it.

The standard Mink `setValue()` function focuses the element, sets a
value, and then blurs the element. In the case of the autocomplete this
can cause the autocomplete suggestions list to be closed in some
situations. Instead of using the setValue we click, and type the value,
but do not immediately blur.
2020-12-15 09:08:05 +08:00
Shamim Rezaie
77baa12643 MDL-64982 behat: Remove deprecated behat timeout constants
Behat timeout constants behat_base::TIMEOUT, EXTENDED_TIMEOUT, and
REDUCED_TIMEOUT, which were deprecated in 3.7, have been removed.
2020-12-04 17:07:06 +11:00
Andrew Nicols
fd71823ec7 MDL-67668 behat: Add inplace editable field type
This commit promotes the Inplace Editable field to a first-class form
element by introducing a new partial selector for inplace editable
fields, and teaching the field manager how to recognise these, then
introducing a new field type which can handle setting values for this
field.
2020-11-23 09:01:19 +08:00
Andrew Nicols
548da2ce97 MDL-67668 behat: Share behat_behat functionality with forms
Behat form fields are implemented in a way completely isolated from the
rest of the Behat Context system. Whereas regular step definitions have
access to execute steps, to call `find`, check for JS running, and other
related functionality, the Moodle implementation of a field type does
not have any access to this.

By moving the core functionality of behat_base to a new trait, and the
constants to a new interface, the functionality can also be used in
behat form fields in the same way as elsewhere.
2020-11-23 09:01:19 +08:00
Andrew Nicols
59daa3b548 MDL-67668 behat: Correct js pending check
Pending checks should only run when JS is running, but some uses were
not apply this check.
2020-11-23 09:01:19 +08:00
Andrew Nicols
1144969755 MDL-67668 behat: Support NodeElement when fetching node in container
This is similar to change made in MDL-69136 to allow an already-fetched
NodeElement to be provided to the get_node_in_container() function and
makes it easier to be deterministic when writing steps.
2020-11-23 09:01:19 +08:00
Andrew Nicols
ba34d6e225 MDL-70148 behat: Update steps for keyboard 2020-11-17 15:14:43 +08:00
Andrew Nicols
9c35ea1040 MDL-70148 behat: Add steps to send keys without an element 2020-11-17 15:14:43 +08:00
Shamim Rezaie
b643c88682 MDL-68167 lib: Autocomplete selection to use listbox aria role
The aria-selected state cannot be used for the listitem role. The
autocomplete widget highly uses the aria-selected state internally.
2020-10-30 14:43:00 +11:00
Tim Hunt
3a048549de MDL-69740 Behat init: more progress info at the end of the install 2020-10-02 23:15:50 +01:00
Eloy Lafuente (stronk7)
74ee34fd87 MDL-69521 core: Move all comments in code from 4.1 to 3.11 2020-09-08 18:59:30 +02:00
Noel De Martin
7440ed4ebc MDL-69360 behat: Fix js ready checks for non-moodle sites 2020-09-02 10:19:51 +02:00
Andrew Nicols
41eaa09bbe MDL-67687 behat: Make axe tests optional 2020-08-04 18:56:57 +08:00
Andrew Nicols
06d486d9a3 MDL-67687 behat: Add axe-core 3.5.5 2020-08-04 18:48:11 +08:00
Adrian Greeve
17e99314a2 Merge branch 'MDL-67657-master' of git://github.com/andrewnicols/moodle 2020-07-21 14:47:14 +08:00
Andrew Nicols
083604ea09 MDL-67657 behat: Open course with editing using URL
This is a huge performance improvement for behat.

The current set of steps loads the page
It then looks for the Classic/Clean version of the settings menu
If it fails to find it looks for the Boost Cog
Then it clicks the "Turn editing on" button

This can take a substantial period.

We do not actually need to run these steps as we are able to jump
straight to the URL. We already have access to the sesskey value
required to do this.

There is not loss in testing functionality because the actual testing of
the Turn editing functionality is tested in other places sufficiently.
2020-07-16 11:06:43 +08:00
Andrew Nicols
cd6eadd407 MDL-67657 behat: Convert existing uses of executeScript 2020-07-16 11:06:31 +08:00
Andrew Nicols
6d5d1935ea MDL-67657 behat: Add wrapper for JS execution 2020-07-16 11:05:32 +08:00
Andrew Nicols
b49cb92e82 MDL-69068 behat: New step to support singular generators 2020-07-15 15:27:31 +08:00
Andrew Nicols
3450387277 MDL-69136 behat: Support find on a NodeElement 2020-06-29 11:36:30 +08:00
Andrew Nicols
c7fb9fe55a MDL-66568 behat: Reset theme CSS between scenarios 2020-06-17 07:46:23 +08:00
Andrew Nicols
ab5a81321a MDL-66568 behat: Support building of themes for behat 2020-06-17 07:46:23 +08:00
Jun Pataleta
7fcdd9d983 Merge branch 'MDL-68612-master-integration' of git://github.com/mickhawkins/moodle 2020-06-03 15:39:36 +08:00
Michael Hawkins
67bf30a549 MDL-68612 user: Created behat step to set user course lastaccess data 2020-06-03 14:29:22 +08:00
Jun Pataleta
96dc92f099 Merge branch 'MDL-68353-master' of git://github.com/rezaies/moodle 2020-05-29 22:26:03 +08:00
Shamim Rezaie
58994fe8bb MDL-68353 test: Update filemanager/filepicker xpath selector 2020-05-29 14:50:35 +10:00
Shamim Rezaie
9b6efe3aea MDL-68353 test: get_field_locator to support custom field labels 2020-05-29 14:50:35 +10:00
Sara Arjona
20bbb473cf Merge branch 'MDL-68667-master' of git://github.com/aanabit/moodle 2020-05-27 12:26:46 +02:00
Jun Pataleta
039fc86902 Merge branch 'MDL-68750-master' of git://github.com/andrewnicols/moodle 2020-05-27 11:03:54 +08:00
Andrew Nicols
8985c478ce MDL-68750 behat: Correct dialogue selector 2020-05-26 12:55:29 +08:00
Victor Deniz Falcon
a735d4d1d4 Merge branch 'MDL-68252' of https://github.com/timhunt/moodle 2020-05-26 00:55:02 +01:00
Amaia Anabitarte
f9d2635f7f MDL-68667 core_contentbank: Fix content generator to use filename 2020-05-25 18:44:53 +02:00
Eloy Lafuente (stronk7)
7ce7d21503 Merge branch 'MDL-66992-master' of https://github.com/tungthai/moodle 2020-05-21 00:48:30 +02:00
Mihail Geshoski
2e4e031e1c MDL-67812 core_contentbank: Modify behat contentbank content generator
Enables the behat contentbank content generator to create content in
multiple contexts and optionaly create files on the filesystem
2020-05-18 10:12:14 +08:00
Tung Thai
15a00bead1 MDL-66992 core_badges: Add support to Open Badges 2.1 2020-05-17 20:01:55 +07:00
Amaia Anabitarte
ce1fe72dbd MDL-68483 contentbank: adapt to existing behat generator 2020-05-12 16:50:46 +02:00
Amaia Anabitarte
cc58791b68 MDL-67790 core_contentbank: Behat contentbank content generator 2020-05-04 20:15:05 +02:00
Andrew Nicols
38a1ccf7d4 Merge branch 'MDL-68445' of https://github.com/stronk7/moodle 2020-04-28 18:29:20 +08:00
Eloy Lafuente (stronk7)
c3e04b2c3c MDL-68525 behat: chrome/switches caps not allowed in Chrome > 81
Now we need to use extra_capabilities/chromeOptions/args instead

The former was deprecated long ago, it seems that Chrome 81 has
stopped accepting it. The later seems to be working at very least
since Chrome 76 (haven't gone further back).
2020-04-28 12:31:58 +08:00
Eloy Lafuente (stronk7)
98cc4d0445 MDL-68445 behat: Bump to 3.6.x
composer.lock generated with PHP 7.2, following:

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes

Also, ensure Symfony/Process > 4.0 compatibility
(needed for parallel runs)
2020-04-24 15:57:09 +02:00
Tim Hunt
fa7431ce50 MDL-68252 question tags: fix tag editing for missingtype questions 2020-04-24 11:26:12 +01:00
Andrew Nicols
ae8d60c4a1 MDL-67827 behat: Add missing exception use 2020-03-06 12:59:38 +08:00
Andrew Nicols
0e09bc932d MDL-33671 behat: Check current fieldtype and parent 2020-03-05 14:16:18 +08:00
Peter Dias
06dc3a6c27 MDL-33671 core: Remove custom behat selectors
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2020-03-04 13:38:49 +08:00
Andrew Nicols
afe13dfe9c MDL-67965 behat: Get theme-specific context classes correctly 2020-02-14 10:15:49 +08:00
Andrew Nicols
c7807a10b4 MDL-67656 behat: Fix usleep call in spin 2020-01-10 13:34:12 +08:00
Andrew Nicols
9b3343adc2 MDL-63996 behat: Fix multi-tag autocomplete usage 2019-12-16 13:57:00 +08:00
Adrian Greeve
75890f29ed Merge branch 'MDL-65620-master' of git://github.com/aanabit/moodle 2019-12-05 09:25:16 +08:00