- 27 Feb, 2014 3 commits
-
-
David Monllaó authored
-
David Monllaó authored
Every single step that sets or gets a value from a field has been updated to follow the same behaviour both when using it through a single step or through generic steps like "I fill the moodle form with:", to resume all the changes: - Created a behat_form_group to re-guess the field type and act appropriately setting and getting it's value - Normalize all getters and setters to use behat_form_field children - Complete behat_form_checkbox to trigger the appropiate JS event needed to perform some JS scripts that are listening - Refactor MDL-43713 multi-select changes and remove the two new steps introduced there as that behaviour can be managed from the generic getter - Added a new step definition to check a capability permission as we changed the way radio buttons gets it's value
-
This patch implements: 1) Normalization of options. Before the patch options in a select were being returned as "op1 op2 op3" by selenium and "op1 op2 op3" by goutte. With the patch, those lists are always returned like "op1, op2, op3". If real commas are needed when handling multiple selects they should be escaped with backslash in feature files. 2) Support for selecting multiple options. Before the patch only one option was selected and a new selection was cleaning the previous one. With the patch it's possible to pass "op1, op2" in these steps: - I fill the moodle form with (table) - I select "OPTION_STRING" from "SELECT_STRING" 3) Ability to match multiple options in this steps. Before the patch matching of multiple was really random, now every every passed option ("opt1, opt2") is individually verified. It applies to these 2 steps: - the "ELEMENT" select box should contain "OPTIONS" - the "ELEMENT" select box should not contain "OPTIONS" 4) Two new steps able to verify if a form have some options selected or no: - the "ELEMENT" select box should contain "OPTIONS" selected - the "ELEMENT" select box should contain "OPTIONS" not selected 5) Change get_value from xpath search to Mink's getValue() that is immediate (does not need form submission) and works for all browsers but Safari, that fails because of the extra ->click() issued. Note all the changes 1-4 only affect to multi-select fields. Single selects should continue working 100% the same. The change 5) causes Safari to fail. The problem has been traced down to the extra ->click() present there. Anyway there are not test cases requiring that "immediate" evaluation right now. Only the special feature file attached verifies it.
-
- 03 Feb, 2014 1 commit
-
-
David Monllaó authored
NodeElement->hasAttribute() (JS enabled) queries selenium about whether it has any attribute or not, if due to an AJAX request the field node changed selenium can not access that node and throws an exception.
-
- 03 Jan, 2014 1 commit
-
-
David Monllaó authored
-
- 12 Dec, 2013 1 commit
-
-
To select an option is specially painful, every browser behaves differently and phantomjs just joined the party throwing "Element does not exist in cache" random exceptions that we need to catch.
-
- 06 Dec, 2013 1 commit
-
-
David Monllaó authored
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.
-
- 19 Jul, 2013 1 commit
-
-
David Monllaó authored
- 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
-
- 09 May, 2013 1 commit
-
-
David Monllaó authored
When the elements to interact with are not available anymore.
-
- 03 May, 2013 1 commit
-
-
David Monllaó authored
Also changing from SeleniumDriver checking to GoutteDriver as is less probably to change goutte than to change selenium.
-
- 29 Jan, 2013 5 commits
-
-
-
David Monllaó authored
Moving from phpunit test environment to a specific behat test environment
-
David Monllaó authored
-
David Monllaó authored
-
David Monllaó authored
-