diff --git a/CHANGELOG.md b/CHANGELOG.md index f1c5fad6d..5a24b5f29 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -88,6 +88,12 @@ Magento Functional Testing Framework Changelog * [MFTF 3.0.0 RC2](https://www.youtube.com/watch?v=BJOQAw6dX5o) * [MFTF 3.0.0 RC3](https://www.youtube.com/watch?v=scLb7pi8pR0) +2.6.4 +----- + +### Fixes +* added dependency to packages MFTF used but never specified in composer.json + 2.6.3 ----- diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..fc24e7a62 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-hacker \ No newline at end of file diff --git a/bin/mftf b/bin/mftf index ddb237fb6..7a9ca1cf2 100755 --- a/bin/mftf +++ b/bin/mftf @@ -31,7 +31,7 @@ try { $version = $version['version']; $application = new Symfony\Component\Console\Application(); $application->setName('Magento Functional Testing Framework CLI'); - $application->setVersion('3.0.0'); + $application->setVersion($version); /** @var \Magento\FunctionalTestingFramework\Console\CommandListInterface $commandList */ $commandList = new \Magento\FunctionalTestingFramework\Console\CommandList; foreach ($commandList->getCommands() as $command) { diff --git a/composer.json b/composer.json index ea1d6b800..e1a04296f 100755 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "magento/magento2-functional-testing-framework", "description": "Magento2 Functional Testing Framework", "type": "library", - "version": "3.0.0-RC5", + "version": "3.0.0", "license": "AGPL-3.0", "keywords": ["magento", "automation", "functional", "testing"], "config": { @@ -30,6 +30,7 @@ "spomky-labs/otphp": "^10.0", "symfony/console": "^4.4", "symfony/finder": "^5.0", + "symfony/http-foundation": "^5.0", "symfony/mime": "^5.0", "symfony/process": "^4.4", "vlucas/phpdotenv": "^2.4", diff --git a/composer.lock b/composer.lock index b9707723b..dff4f1006 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "79415f9a24ebaf47d34ea227fc07e142", + "content-hash": "a0516f6072ced659bf4ed7a486756bb2", "packages": [ { "name": "allure-framework/allure-codeception", @@ -4529,6 +4529,56 @@ "homepage": "https://symfony.com", "time": "2020-03-27T16:56:45+00:00" }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "time": "2020-06-06T08:49:21+00:00" + }, { "name": "symfony/event-dispatcher", "version": "v4.4.7", @@ -4758,31 +4808,37 @@ }, { "name": "symfony/http-foundation", - "version": "v5.0.7", + "version": "v5.1.2", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "26fb006a2c7b6cdd23d52157b05f8414ffa417b6" + "reference": "f93055171b847915225bd5b0a5792888419d8d75" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/26fb006a2c7b6cdd23d52157b05f8414ffa417b6", - "reference": "26fb006a2c7b6cdd23d52157b05f8414ffa417b6", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f93055171b847915225bd5b0a5792888419d8d75", + "reference": "f93055171b847915225bd5b0a5792888419d8d75", "shasum": "" }, "require": { - "php": "^7.2.5", - "symfony/mime": "^4.4|^5.0", - "symfony/polyfill-mbstring": "~1.1" + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.15" }, "require-dev": { "predis/predis": "~1.0", - "symfony/expression-language": "^4.4|^5.0" + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -4809,7 +4865,7 @@ ], "description": "Symfony HttpFoundation Component", "homepage": "https://symfony.com", - "time": "2020-03-30T14:14:32+00:00" + "time": "2020-06-15T06:52:54+00:00" }, { "name": "symfony/mime", @@ -5165,6 +5221,72 @@ ], "time": "2020-02-27T09:26:54+00:00" }, + { + "name": "symfony/polyfill-php80", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4a5b6bba3259902e386eb80dd1956181ee90b5b2", + "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2", + "shasum": "" + }, + "require": { + "php": ">=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "time": "2020-06-06T08:46:27+00:00" + }, { "name": "symfony/process", "version": "v4.4.7", @@ -6798,6 +6920,5 @@ "ext-json": "*", "ext-openssl": "*" }, - "platform-dev": [], - "plugin-api-version": "1.1.0" + "platform-dev": [] } diff --git a/docs/backward-incompatible-changes.md b/docs/backward-incompatible-changes.md index 746e4546b..5ddf1c9cb 100644 --- a/docs/backward-incompatible-changes.md +++ b/docs/backward-incompatible-changes.md @@ -15,7 +15,7 @@ We removed support to read test modules from the deprecated path `dev/tests/acce - Files under test modules `ActionGroup`, `Page`, `Section`, `Test` and `Suite` only support a single entity per file. - The `file` attribute from `` has been removed from the suite schema. `` is no longer supported in suites. - Metadata filename format changed to ***`*Meta.xml`***. -- Only nested assertion syntax will be supported. See the [assertions page](./docs/test/assertions.md) for details. Here is an example of the nested assertion syntax: +- Only nested assertion syntax will be supported. See the [assertions page](test/assertions.md) for details. Here is an example of the nested assertion syntax: ```xml $billingAddressOrderPage @@ -40,7 +40,7 @@ To run the upgrade tests: 1. Run `bin/mftf reset --hard` to remove old generated configurations. 1. Run `bin/mftf build:project` to generate new configurations. -1. Run `bin/mftf upgrade:tests`. [See command page for details](./docs/commands/mftf.md#upgradetests). +1. Run `bin/mftf upgrade:tests`. [See command page for details](commands/mftf.md#upgradetests). 1. Lastly, try to generate all tests. Tests should all be generated as a result of the upgrades. If not, the most likely issue will be a changed XML schema. Check error messaging and search your codebase for the attributes listed. ## MFTF commands @@ -57,7 +57,7 @@ To run the upgrade tests: **Details**: -The `helper` allows test writers to solve advanced requirements beyond what MFTF offers out of the box. See [custom-helpers](./docs/custom-helpers.md) for more information on usage. +The `helper` allows test writers to solve advanced requirements beyond what MFTF offers out of the box. See [custom-helpers](custom-helpers.md) for more information on usage. Here is an example of using `helper` in place of `executeSelenium` to achieve same workflow. @@ -95,7 +95,7 @@ New usage: **Details**: -See the [actions page for details](./docs/test/actions.md#pause). Here is a usage example: +See the [actions page for details](test/actions.md#pause). Here is a usage example: ```xml diff --git a/docs/best-practices.md b/docs/best-practices.md index c0499fb12..0ce9448cb 100644 --- a/docs/best-practices.md +++ b/docs/best-practices.md @@ -2,10 +2,49 @@ Check out our best practices below to ensure you are getting the absolute most out of the Magento Functional Testing Framework. +## Focus on reusability + +### Use existing Tests and resources + +Magento offers more than **3000** acceptance tests, **2500** [Action group]s, **750** Page declarations with more than **1500** Section definitions. +It is very probable that behaviour you want to test already exists as a Test or Action Group. +Instead of writing everything by yourself - use `extends` attribute to refer to existing element and customize it. + +**Reusable Resources** + +{%raw%} + +* Tests (reusable with `` argument) +* Action Group (reusable with including ``, or extending ``) +* Pages (reusable with reference `{{PageDefinition.url}}`) +* Sections (reusable with reference `{{SectionDefinition.elementDefinition}}`) +* Data Entities (reusable with reference `"` or extending ``) + +{%endraw%} + +
+ +Avoid using resources that are marked as **Deprecated**. Usually there is a replacement provided for a deprecated resource. + +
+ +### Extract repetitive Actions + +Instead of writing a few of Tests that perform mostly the same actions, you should thing about [Action group] that is a container for repetitive Actions. +If each run needs different data, use `` to inject necessary information. + +We recommend to keep Action Groups having single responsibility, for example `AdminLoginActionGroup`, which expected outcome is being logged in as Administrator when [Action group] is executed. + +## Contribute + +Althought the Magento Core team and Contributors join forces to cover most of the features with tests, it is impossible to have this done quickly. +If you've covered Magento Core feature with Functional Tests - you are more than welcome to contribute. + +You can also help with MFTF Test Migration to get the experience and valuable feedback from other community members and maintainers. + ## Action group -1. [Action group] names should be sufficiently descriptive to inform a test writer of what the action group does and when it should be used. - Add additional explanation in annotations if needed. +1. [Action group] names should be sufficiently descriptive to inform a test writer of what the action group does and when it should be used. Add additional explanation in annotations if needed. 2. Provide default values for the arguments that apply to your most common case scenarios. 3. One `` tag is allowed per action group XML file. @@ -95,20 +134,20 @@ Use the _Foo.camelCase_ naming convention, which is similar to _Classes_ and _cl Use an upper case first letter for: -- File names. Example: _StorefrontCreateCustomerTest.xml_ -- Test name attributes. Example: `` -- Data entity names. Example: `` -- Page name. Example: `` -- Section name. Example: `
` -- Action group name. Example: `` +* File names. Example: _StorefrontCreateCustomerTest.xml_ +* Test name attributes. Example: `` +* Data entity names. Example: `` +* Page name. Example: `` +* Section name. Example: `
` +* Action group name. Example: `` #### Lower case Use a lower case first letter for: -- Data keys. Example: `` -- Element names. Examples: `` -- Step keys. For example: `` +* Data keys. Example: `` +* Element names. Examples: `` +* Step keys. For example: `` ## Page object @@ -147,9 +186,9 @@ Define these three elements and reference them by name in the tests. 1. Keep your tests short and granular for target testing, easier reviews, and easier merge conflict resolution. It also helps you to identify the cause of test failure. 1. Use comments to keep tests readable and maintainable: - - Keep the inline `` and [``] tags up to date. + * Keep the inline `` and [``] tags up to date. It helps to inform the reader of what you are testing and to yield a more descriptive Allure report. - - Explain in comments unclear or tricky test steps. + * Explain in comments unclear or tricky test steps. 1. Refer to [sections] instead of writing selectors. 1. One `` tag is allowed per test XML file. @@ -178,3 +217,4 @@ Since the configurable product module could be disabled, this approach is more r [merging]: merging.html [parameterized selectors]: section/parameterized-selectors.html [sections]: section.html +[MFTF Test Migration]: https://github.com/magento/magento-functional-tests-migration diff --git a/docs/commands/mftf.md b/docs/commands/mftf.md index f1ef3955d..bc2e5c0ec 100644 --- a/docs/commands/mftf.md +++ b/docs/commands/mftf.md @@ -151,7 +151,7 @@ vendor/bin/mftf generate:tests [option] [] [] [--remove] | Option | Description| | ---| --- | | `--config=[ or or ]` | Creates a single manifest file with a list of all tests. The default location is `tests/functional/Magento/FunctionalTest/_generated/testManifest.txt`.
You can split the list into multiple groups using `--config=parallel`; the groups will be generated in `_generated/groups/` like `_generated/groups/group1.txt, group2.txt, ...`.
Available values: `default` (default), `singleRun`(same as `default`), and `parallel`.
Example: `generate:tests --config=parallel`. | -| `--filter` | Option to filter tests to be generated.
Template: ':'.
Existing filter types: severity.
Existing severity values: BLOCKER, CRITICAL, MAJOR, AVERAGE, MINOR.
Example: --filter=severity:CRITICAL| +| `--filter` | Option to filter tests to be generated.
Template: '<filterName>:<filterValue>'.
Existing filter types: severity.
Existing severity values: BLOCKER, CRITICAL, MAJOR, AVERAGE, MINOR.
Example: --filter=severity:CRITICAL| | `--force` | Forces test generation, regardless of the module merge order defined in the Magento instance. Example: `generate:tests --force`. | | `-i,--time` | Set time in minutes to determine the group size when `--config=parallel` is used. The __default value__ is `10`. Example: `generate:tests --config=parallel --time=15`| | `--tests` | Defines the test configuration as a JSON string.| diff --git a/docs/configuration.md b/docs/configuration.md index b78b421b9..b16f85d8f 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -32,6 +32,16 @@ Example: MAGENTO_BACKEND_NAME=admin_12346 ``` +### MAGENTO_BACKEND_BASE_URL + +(Optional) If you are running the Admin Panel on separate a domain, specify this value: + +Example: + +```conf +MAGENTO_BACKEND_BASE_URL=https://admin.magento2.test +``` + ### MAGENTO_ADMIN_USERNAME The username that tests can use to access the Magento Admin page diff --git a/docs/getting-started.md b/docs/getting-started.md index 99b8f197e..ec0afba0d 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -204,7 +204,7 @@ Learn more about environmental settings in [Configuration][]. ### Step 3. Enable the Magento CLI commands -In the `magento2/dev/tests/acceptance` directory, run the following command to enable the MFTF to send Magento CLI commands to your Magento instance. +In the Magento project root, run the following command to enable the MFTF to send Magento CLI commands to your Magento instance. ```bash cp dev/tests/acceptance/.htaccess.sample dev/tests/acceptance/.htaccess @@ -216,11 +216,11 @@ To run tests, you need a running Selenium server and [`mftf`][] commands. #### Run the Selenium server {#selenium-server} -Run the Selenium server in terminal. -For example, the following commands run the Selenium server for Google Chrome: +Run the Selenium server in the terminal. +For example, the following commands download and run the Selenium server for Google Chrome: ```bash -cd / +curl -O http://selenium-release.storage.googleapis.com/3.14/selenium-server-standalone-3.14.0.jar ``` ```bash @@ -233,10 +233,6 @@ java -Dwebdriver.chrome.driver=chromedriver -jar selenium-server-standalone-3.14 vendor/bin/mftf generate:tests ``` -```bash -cd dev/tests/acceptance -``` - ```bash vendor/bin/codecept run functional -c dev/tests/acceptance/codeception.yml ``` diff --git a/docs/img/mftf-extending-precedence.png b/docs/img/mftf-extending-precedence.png new file mode 100644 index 000000000..deed5231f Binary files /dev/null and b/docs/img/mftf-extending-precedence.png differ diff --git a/docs/introduction.md b/docs/introduction.md index b68cca819..5a75777af 100644 --- a/docs/introduction.md +++ b/docs/introduction.md @@ -7,8 +7,15 @@ To find older documentation, please refer to the [docs folder] of your desired r [Find your MFTF version][] of the MFTF. -The Magento Functional Testing Framework (MFTF) aims to replace the [Functional Testing Framework] in future releases. -MFTF improves: +The Magento Functional Testing Framework (MFTF) is a framework used to perform automated end-to-end functional testing. + +## Goals + +- To facilitate functional testing and minimize the effort it takes to perform regression testing. +- Enable extension developers to provide the Functional Tests to offered extensions. +- Ensuring a common standard of quality between Magento, Extension Developers and System Intergrators. + +MFTF also focuses on - **Traceability** for clear logging and reporting capabilities. - **Modularity** to run tests based on installed modules and extensions. @@ -16,39 +23,64 @@ MFTF improves: - **Readability** using clear and declarative XML test steps. - **Maintainability** based on simple test creation and overall structure. -Because MFTF tests are written in XML, you no longer need to learn PHP to write tests. +## Audience -
-We are actively developing functional tests. -Refer to `/app/code///Test/Mftf/` for examples. -Check out the [MFTF Test Migration][] repo. -
+- **Contributors**: Tests build confidence about the results of changes introduced to the platform. +- **Extension Developers**: Can adjust expected behaviour according to their customizations. +- **System Integrators**: MFTF coverage provided out-of-the-box with Magento is solid base for Acceptance / Regression Tests. -## Audience +## MFTF tests -This MFTF guide is intended for Magento developers and software engineers, such as QA specialists, PHP developers, and system integrators. +The MFTF supports two different locations for storing the tests and test artifacts: -## Goals +- `/app/code///Test/Mftf/` is the location of local, customized tests. +- `/vendor///Test/Mftf/` is location of tests provided by Magento and vendors. -The purpose of MFTF is to: +If you installed Magento with Composer, please refer to `vendor/magento//Test/Mftf/` for examples. -- Facilitate functional testing and minimize the effort it takes to perform regression testing. -- Make it easier to support the extension and customization of tests via XML merging. +### Directory Structure -## Scope +The file structure under both of the both path cases is the same: + +```tree +Test +└── Mftf + ├── ActionGroup + │   └── ... + ├── Data + │   └── ... + ├── Metadata + │   └── ... + ├── Page + │   └── ... + ├── Section + │   └── ... + └── Test + └── ... +``` + +
-MFTF will enable you to: +We are actively developing functional tests. Check out the [MFTF Test Migration][] repository. -- Test user interactions with web applications in testing. -- Write functional tests located in `/app/code///Test/Mftf/`. -- Cover basic functionality using out-of-the-box tests. You can test extended functionality using custom tests. -- Automate regression testing. +
## Use cases -As a Magento developer, test changes, such as extended search functionality, a new form attribute, or new product tags. +- Contributor: changes the core behaviour, fixing the annoing bug. + He wants to have automated "supervisor" which is going to verify his work continuously across the stages of bug fixing. Finally, when fix is done - Functional Test is also proof of work done. +- Extension Developer: offers extension that changes core behaviour. + He can easily write new tests to make sure that after enabling the feature, Magento behaves properly. Everything with just extending existing tests. As a result he don't need to write coverage from scratch. +- Integration Agency: maintains Client's e-commerce. + They are able to customize tests delivered with Magento core to follow customizations implemented to Magento. After each upgrade they can just run the MFTF tests to know that no regression was introduced. + +## MFTF output -As a software engineer, perform regression testing before release to ensure that Magento works as expected with new functionality. +- Generated PHP Codeception tests +- Codeception results and console logs +- Screenshots and HTML failure report +- Allure formatted XML results +- Allure report dashboard of results ## Find your MFTF version @@ -57,11 +89,9 @@ There are two options to find out your MFTF version: - using the MFTF CLI - using the Composer CLI -### MFTF CLI +All the Command Line commands needs to be executed from `` -```bash -cd / -``` +### MFTF CLI ```bash vendor/bin/mftf --version @@ -69,10 +99,6 @@ vendor/bin/mftf --version ### Composer CLI -```bash -cd / -``` - ```bash composer show magento/magento2-functional-testing-framework ``` diff --git a/docs/merging.md b/docs/merging.md index ad3198623..fc187d576 100644 --- a/docs/merging.md +++ b/docs/merging.md @@ -27,6 +27,15 @@ For example: Although a file name does not influence merging, we recommend using the same file names in merging updates. This makes it easier to search later on. +## Merging precedence + +**Magento Functional Testing Framework** uses Module's `` to merge all XML configurations into Codeception instructions. If there's no Sequence specified, MFTF would use: + +1. Vendor modules (Magento & Vendors) located in `vendor/` +1. Tests located in `app/code/*/*/Test/Mftf` + +![Usual precedence for merging MFTF Tests and resources][mftfExtendingPrecedence image] + ## Add a test You cannot add another [``][tests] using merging functionality. @@ -570,3 +579,4 @@ The `_defaultSample` results corresponds to: [``]: ./section.md [``]: ./test.md [``]: ./test/action-groups.md +[mftfExtendingPrecedence image]: img/mftf-extending-precedence.png diff --git a/docs/update.md b/docs/update.md new file mode 100644 index 000000000..ebd096158 --- /dev/null +++ b/docs/update.md @@ -0,0 +1,43 @@ +# Update the Magento Functional Testing Framework + +
+Both Magento `2.2` and `2.3` supports MFTF `2.5.3` ([Find your version][] of the MFTF). +
+ +Tests and the Framework itself are stored in different repositories. + +* Tests are stored in Module's directory. +* MFTF is installed separately (usually as a Composer dependency) + +To understand different types of update - please follow the [Versioning][] page. + +## Patch version update + +Takes place when **third** digit of version number changes. + +1. Make sure that [Security settings][] are set appropriately. +1. Get latest Framework version with `composer update magento/magento2-functional-testing-framework --with-dependencies` +1. Generate updated tests with `vendor/bin/mftf generate:tests` + +## Minor version update + +Takes place when **second** digit of version number changes. + +1. Check details about backward incompatible changes in the [Changelog][] and update your new or customized tests. +1. Perform all the actions provided for [Patch Version Update][] +1. When updating from versions below `2.5.0`, verify [WYSIWYG settings][] +1. You may need to run the `upgrade:tests` using `vendor/bin/mftf upgrade:tests app` + +## After updating + +1. It is a good idea to regenerate your IDE Schema Definition catalog with `vendor/bin/mftf generate:urn-catalog .idea/` +1. Update your tests, including data, metadata and other resoruces. Check if they contain tags that are unsupported in the newer version. +1. Remove the references to resources (ActionGroups, Sections, Tests) marked as deprecated. + + +[Changelog]: https://github.com/magento/magento2-functional-testing-framework/blob/master/CHANGELOG.md +[WYSIWYG settings]: getting-started.md#wysiwyg-settings +[Security settings]: getting-started.md#security-settings +[Find your version]: introduction.md#find-your-mftf-version +[Versioning]: versioning.md#versioning-policy +[Patch Version Update]: #patch-version-update diff --git a/docs/versioning.md b/docs/versioning.md index ecb8438c5..15b98f743 100644 --- a/docs/versioning.md +++ b/docs/versioning.md @@ -12,7 +12,6 @@ If a modification to MFTF forces tests to be changed, this is a backward incompa To find the version of MFTF that you are using, run the Magento CLI command: ```bash -cd / vendor/bin/mftf --version ``` @@ -61,8 +60,10 @@ You must reset the patch and minor version to 0 when you change the major versio This table lists the version of the MFTF that was released with a particular version of Magento. |Magento version| MFTF version| -|---|---| +|--- |--- | +| 2.3.4 | 2.5.3 | +| 2.3.3 | 2.4.5 | | 2.3.2 | 2.3.14 | | 2.3.1 | 2.3.13 | -| 2.3.0 | 2.3.9 | +| 2.3.0 | 2.3.9 | | 2.2.8 | 2.3.13 |