Commit Graph

228 Commits

Author SHA1 Message Date
Ilya Tregubov c23589a218 MDL-72262 behat: Make alias shorter to fix Oracle failures. 2021-08-02 08:26:44 +02:00
Andrew Nicols 82e63108fa MDL-72179 behat: Make use of page resolvers 2021-07-24 18:56:38 +08:00
Andrew Nicols 6f6b16f5b2 MDL-72179 behat: Add page resolver for activity names 2021-07-23 20:32:44 +08:00
Andrew Nicols 6eac0da6ad MDL-72179 behat: Improve core page resolvers
This commit makes the following improvements to core page resolverss:
* allows for mixed case naming (course, Course, etc.)
* allows fields other than the idnumber to be specified:
** course: idnumber, shortname, fullname
** course category: idnumber, name

Whilst some of these fields are not unique, they will typically be
unique in most test scenarios. Where they are not then the idnumber
should be used in preference.
2021-07-23 20:28:10 +08:00
Andrew Nicols 1858a98a22 MDL-72125 behat: Add get_activity_id() behat generators helper 2021-07-16 12:33:56 +08:00
Andrew Nicols be00aebefe MDL-72125 testing: Set a default idnumber when creating activities
The activity generator currently requires an idnumber when creating
activities, but this is not a requirement when creating the same
activity through the UI. The requirement comes because we want to
provide a way to refer to activities in subsequent steps.

This commit modifies the behaviour such that the generator uses the name
of the activity as the default idnumber.

This has two  main benefits:
1. it simplfies generation of activities; and
2. it makes the language used when writing behat tests much more natural.

With this change, steps will refer to the activity by its idnumber/title
in all cases, rather than sometimes by an idnumber which bears no
relevance to the title.
2021-07-16 12:33:56 +08:00
Andrew Nicols 17625bd5b2 Merge branch 'MDL-70909-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2021-04-28 10:26:41 +08:00
Ferran Recio d7d94cf30f MDL-70909 behat: context freeze and not freeze steps 2021-04-22 15:51:36 +02:00
Noel De Martin 3a83f57043 MDL-71386 behat: Support for 3.9.5+ mobile app 2021-04-22 12:16:01 +02:00
Andrew Nicols 6aadb04fe1 MDL-47410 behat: Perform exact match for date_time selectors 2021-02-18 09:35:23 +08:00
Mihail Geshoski c9ecca60c1 MDL-47410 behat: Create custom selector for the date and datetime fields
Creates a custom field selector to locate the requested date or datetime
form fields.
2021-02-11 12:11:15 +08:00
Andrew Nicols a7d8af4a9e MDL-70734 behat: Increase the WebDriver Curl timeout 2021-02-01 09:50:08 +08:00
Andrew Nicols 9cb46e24f2 MDL-66979 behat: Add a step to set a timeout factor for a test 2021-01-29 14:18:54 +08:00
Andrew Nicols 058394a412 MDL-66979 behat: Warn about old behat.yml file location 2021-01-23 20:44:53 +08:00
Andrew Nicols ef4a652abe MDL-66979 behat: Rename and warn on old config 2021-01-22 14:52:14 +08:00
Andrew Nicols c56395fba6 MDL-66979 behat: Improve chromeOptions configuration
Simplify the chromeOptions configuration to improve readability.
2021-01-22 14:52:13 +08:00
Andrew Nicols 330b665f82 MDL-66979 behat: iFrames must have a name for switchTo
The W3C WebDriver protocol supports switching of contexts using a named
context, and not the class asscoiated with that context.
2021-01-22 14:52:13 +08:00
Andrew Nicols ca2acd10c9 MDL-66979 behat: Handle JS on elements better
This change introduces a new function to execute Javascript directly on
a node.

This should not, ordinarily, be used directly by steps, but may be
required in other parts of the Behat interaction.
2021-01-22 14:52:13 +08:00
Andrew Nicols 863d68a344 MDL-66979 behat: Rename selenium config to webdriver
The PHP WebDriver Mink Driver does not necessarily require Selenium. It
supports Selenium 3 upwards, and can be used directly with ChromeDriver,
EdgeDriver, SafariDriver, GeckoDriver, and others.

It therefore uses a slightly different configuraitno path.
2021-01-22 14:52:13 +08:00
Andrew Nicols c816ca79fa 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:13 +08:00
Andrew Nicols 0214c50b18 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:00:46 +08:00
Andrew Nicols e29e8373e6 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:00:46 +08:00
Shamim Rezaie be7b73a24b 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:59:50 +11:00
Tim Hunt 477fb6c9d6 MDL-69740 Behat init: more progress info at the end of the install 2020-10-02 23:16:23 +01:00
Andrew Nicols 41eaa09bbe MDL-67687 behat: Make axe tests optional 2020-08-04 18:56:57 +08:00
Andrew Nicols b49cb92e82 MDL-69068 behat: New step to support singular generators 2020-07-15 15:27:31 +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
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
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 afe13dfe9c MDL-67965 behat: Get theme-specific context classes correctly 2020-02-14 10:15:49 +08:00
Amaia Anabitarte ebe53aca51 MDL-65620 core_message: User preference generator 2019-12-04 09:49:21 +01:00
Tim Hunt 285c703685 MDL-48024 behat: allow plugins to have data generators
This extends the step
Given the following "users" exist:
to also support things like
Given the following "mod_quiz > user overrides" exist:

Instructions are on the behat_data_generators and
behat_generator_base classes.
2019-11-21 09:18:35 +08:00
Amaia Anabitarte 0d97e6103f MDL-66405 core_h5p: New behat steps and selectors for H5P tools 2019-11-08 17:08:57 +01:00