This topic was updated after 2.0.2 MFTF release.
Make sure that you’ve installed and set up the following software:
- PHP version supported by Magento instance under test
- Composer v1.3.x+
- Java v1.8.x+
- Selenium Server Standalone v3.6.0+
- ChromeDriver v2.33+
Use instructions below to install Magento.
Step 1. Clone the
magento2 source code repository
git clone https://github.com/magento/magento2.git
git clone firstname.lastname@example.org:magento/magento2.git
Step 2. Install dependencies
Checkout the Magento version that you are going to test.
git checkout 2.2-develop
Install the Magento application.
Configure the following settings in Magento as described below.
A Selenium web driver cannot enter data to fields with WYSIWYG .
To disable the WYSIWYG and enable the web driver to process these fields as simple text areas:
- Log in to the Magento Admin as an administrator.
- Navigate to Stores > Configuration > General > Content Management.
- In the WYSIWYG Options section set the Enable WYSIWYG Editor option to Disabled Completely.
- Click Save Config.
Enable WYSIWYG in your test suite when you need to test it.
To enable the Admin Account Sharing setting, to avoid unpredictable logout during a testing session, and disable the Add Secret Key in URLs setting, to open pages using direct URLs:
- Navigate to Stores > Configuration > Advanced > Admin > Security.
- Set Admin Account Sharing to Yes.
- Set Add Secret Key to URLs to No.
- Click Save Config.
Set up the framework
Follow these steps in a command line interface to set up the MFTF on your system.
Step 1. Install dependencies
Step 2. Build the project
In magento2/dev/tests/acceptance, run the following command:
To avoid typing
vendor/bin every time, add your
<absolute path to acceptance dir>/vendor/bin value to
When added, you should be able to run the
Step 3. Edit environment settings
In the magento2/dev/tests/acceptance directory, edit the
.env file to match your system. Use the following parameters, which are required to launch tests.
MAGENTO_BASE_URLmust contain a domain name of the Magento instance that will be tested. Example:
MAGENTO_BACKEND_NAMEmust contain the relative path to the Admin area. Example:
MAGENTO_ADMIN_USERNAMEmust contain the username required for authorization in the Admin area. Example:
MAGENTO_ADMIN_PASSWORDmust contain the user password required for authorization in the Admin area. Example:
The following self-descriptive variables have included default values.
SELENIUM_HOST=127.0.0.1 SELENIUM_PORT=4444 SELENIUM_PROTOCOL=http SELENIUM_PATH=/wd/hub
Only change or specify
SELENIUM_* values if you are not running Selenium locally, or if you have changed your Selenium Server configuration.
Your environment settings form the path to your running Selenium Server. Example:
Step 4. Make
command.php visible in the Magento testing environment
In your Magento installation, navigate to the magento2/dev/tests/acceptance directory and run the following command to allow MFTF to send Magento CLI commands to your Magento instance.
cp .htaccess.sample .htaccess
If you do not have access to your Magento installation and cannot complete the above steps you will not be able to run tests using Magento CLI commands.
Step 5. Generate existing tests
magento2/dev/tests/acceptance directory, run the following command to generate tests as PHP classes from XML files:
Step 6. Run tests
Run the Selenium server
Download a Selenium web driver for your web browser into the same directory that contains the Selenium server.
Add the directory with the web driver to
Run the Selenium server in terminal (or other command line interface):
java -jar <path_to_selenium_directory>/selenium-server-standalone-<version>.jar
Run all tests
Step 7. Generate reports
Install Allure, a tool that generates testing reports in HTML. Testing reports are generated in a CLI during testing.
If you want to see the reports in a GUI, run: