Testing Area/Behat Testing/Automated functional testing: Difference between revisions
From Mahara Wiki
< Testing Area | Behat Testing
mNo edit summary |
Rangidaymond (talk | contribs) mNo edit summary |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Information on Automated Functional Testing | Information on Automated Functional Testing | ||
===Behat Testing | ===Behat Testing - Mahara Steps=== | ||
Note: for ALL current Mahara steps refer to <your mahara environment>/htdocs/testing/frameworks/behat/classes/BehatGeneral.php | |||
====Logging In==== | |||
Logs you in as an Admin for testing purposes | |||
@Given I am logged in as the user "admin" with password "Password1" | |||
====Opening/Loading/Closing Pages==== | ====Opening/Loading/Closing Pages==== | ||
Line 20: | Line 24: | ||
====Actions Requiring Waiting==== | |||
Line 129: | Line 133: | ||
====Ungrouped Steps==== | |||
Follows the page redirection. Use this step after any action that shows a message and waits for a redirection | |||
@Given I | @Given I wait to be redirected | ||
Accepts the currently displayed alert dialog. This step does not work in all the browsers, consider it experimental. | |||
@Given I accept the currently displayed dialog | |||
Drags and drops the specified element to the specified container. This step does not work in all the browsers, consider it experimental. | |||
@Given I drag "$element" "$selector" and I drop it in "$containerelement" ”$selector" | |||
This step triggers cron like a user would do going to lib/cron.php. | |||
@Given I trigger cron | |||
====Switching Frames/Windows==== | |||
These steps you wont necassarily need but they are here if you do. | |||
Switches to the specified iframe. | |||
@Given I switch to "$iframename" iframe | |||
Switches to the main Mahara frame. | |||
@Given I | @Given I switch to the main frame | ||
Switches to the specified window. Useful when interacting with popup windows. | |||
@Given I switch to “windowname” windows | |||
Switches to the main Mahara window. Useful when you finish interacting with popup windows. | |||
@Given I switch to the main window |
Latest revision as of 16:24, 24 July 2020
Information on Automated Functional Testing
Behat Testing - Mahara Steps
Note: for ALL current Mahara steps refer to <your mahara environment>/htdocs/testing/frameworks/behat/classes/BehatGeneral.php
Logging In
Logs you in as an Admin for testing purposes
@Given I am logged in as the user "admin" with password "Password1"
Opening/Loading/Closing Pages
Opens Mahara homepage.
@Given I am on homepage
Reloads the current page.
@Given I reload the page
Waits until the page is completely loaded. This step is auto-executed after every step.
@Given I wait until the page is ready
Actions Requiring Waiting
Waits X seconds. Required after an action that requires data from an AJAX request.
@Then I wait "$numberofseconds" seconds
Waits until the provided element selector exists in the DOM
@Given I wait until "$element" "$selector" exists
Click Actions
Generic mouse over action. Mouse over a element of the specified type.
@When I hover "$element" "$selector"
Click on the element of the specified type which is located inside the second element.
@When I click on "$element" "$selector"
Click on the specified element inside a table row containing the specified text.
@Given I click on "$element" "$selector" in the table row
Clicks link with specified id|title|alt|text.
@When I follow "id|title|alt|text"
Checking For Specfic Visible Elements
Checks, that the specified element is visible. Only available in tests using Javascript.
@Then "$elements" "$selector" should be visible @Then "$element" "$selector" should not be visible
Checks, that the specified element is visible inside the specified container. Only available in tests using Javascript.
@Then "$element" "$selector" in the "$elementcontainer" "$selector" should be visible
Checks, that the specified element is not visible inside the specified container. Only available in tests using Javascript.
@Then "$element" "$selector" in the "$elementcontainer" "$textselector" should not be visible
Checks, that page contains specified text. It also checks if the text is visible when running Javascript tests.
@Then I should see "$text"
Checks, that page doesn't contain specified text. When running Javascript tests it also considers that texts may be hidden.
@Then I should not see "$text"
Checks, that the specified element contains the specified text. When running Javascript tests it also considers that texts may be hidden.
@Then I should see "$text" in the "$element" “$sector”
Checks, that the specified element does not contain the specified text. When running Javascript tests it also considers that texts may be hidden.
@Then I should not see "$text" in the “$element" "$selector”
Checks, that the first specified element appears before the second one.
@Given "$element" "$selector" should appear before "$element)" "$selector"
Checks, that the first specified element appears after the second one.
@Given "$element" "selector" should appear after $"element" $"selector"
Checks, that element of specified type is disabled.
@Then the "$element" "$selector" should be disabled
Checks, that element of specified type is enabled.
@Then the "$element" "$selector" should be enabled
Checks the provided element and selector type are readonly on the current page.
@Then the "$element" "$selector" should be readonly
Checks the provided element and selector type exists in the current page. -This step is for advanced users, use it if you don't find anything else suitable for what you need.
@Then "$element" "$selector" should exists
Checks that the provided element and selector type not exists in the current page. -This step is for advanced users, use it if you don't find anything else suitable for what you need.
@Then "$element" "$selector" should not exists
Checks that an element and selector type exists in another element and selector type on the current page.
-This step is for advanced users, use it if you don't find anything else suitable for what you need.
@Then "$element" "$selector" should exist in the "$element" "$selector"
Ungrouped Steps
Follows the page redirection. Use this step after any action that shows a message and waits for a redirection
@Given I wait to be redirected
Accepts the currently displayed alert dialog. This step does not work in all the browsers, consider it experimental.
@Given I accept the currently displayed dialog
Drags and drops the specified element to the specified container. This step does not work in all the browsers, consider it experimental.
@Given I drag "$element" "$selector" and I drop it in "$containerelement" ”$selector"
This step triggers cron like a user would do going to lib/cron.php.
@Given I trigger cron
Switching Frames/Windows
These steps you wont necassarily need but they are here if you do.
Switches to the specified iframe.
@Given I switch to "$iframename" iframe
Switches to the main Mahara frame.
@Given I switch to the main frame
Switches to the specified window. Useful when interacting with popup windows.
@Given I switch to “windowname” windows
Switches to the main Mahara window. Useful when you finish interacting with popup windows.
@Given I switch to the main window