Skip to content

Commit efbabcd

Browse files
Merge pull request #496 from magento-commerce/MFTF6.0.1
Mftf6.0.1
2 parents c09a738 + 7c18468 commit efbabcd

File tree

4 files changed

+36
-2
lines changed

4 files changed

+36
-2
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
Magento Functional Testing Framework Changelog
22
================================================
33

4+
6.0.1
5+
---------
6+
### Fixes
7+
* Added uniqueness validation for step key in testsuite.
8+
* Removed unnecessary chrome configuration flags
9+
410
6.0.0
511
---------
612
### Enhancement

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "magento/magento2-functional-testing-framework",
33
"description": "Magento2 Functional Testing Framework",
44
"type": "library",
5-
"version": "6.0.0",
5+
"version": "6.0.1",
66
"license": "AGPL-3.0",
77
"keywords": ["magento", "automation", "functional", "testing"],
88
"config": {

etc/config/functional.suite.dist.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ modules:
3838
capabilities:
3939
unhandledPromptBehavior: "ignore"
4040
chromeOptions:
41-
args: ["--no-sandbox", "--window-size=1920,1080", "--disable-extensions", "--enable-automation", "--disable-gpu", "--enable-Passthrough", "--disable-dev-shm-usage", "--disable-component-update", "--disable-features=OptimizationHints","--disable-background-networking","--disable-domain-reliability","--disable-breakpad","--disable-features=ThirdPartyCookieBlocking,SameSiteByDefaultCookies,StoragePartitioning,AutofocusPreventsAccidentalCrossOriginActivation,BlockInsecurePrivateNetworkRequests","--disable-web-security","--allow-running-insecure-content","--disable-site-isolation-trials","--disable-features=site-per-process"]
41+
args: ["--no-sandbox", "--window-size=1920,1080", "--disable-extensions", "--enable-automation", "--disable-gpu", "--enable-Passthrough", "--disable-dev-shm-usage", "--disable-component-update", "--disable-features=OptimizationHints","--disable-background-networking","--disable-domain-reliability","--disable-breakpad","--disable-web-security"]

src/Magento/FunctionalTestingFramework/Suite/Config/SuiteDom.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
namespace Magento\FunctionalTestingFramework\Suite\Config;
88

99
use Magento\FunctionalTestingFramework\Exceptions\Collector\ExceptionCollector;
10+
use Magento\FunctionalTestingFramework\Util\Validation\DuplicateNodeValidationUtil;
1011
use Magento\FunctionalTestingFramework\Util\Validation\SingleNodePerFileValidationUtil;
1112

1213
/**
@@ -16,6 +17,14 @@
1617
class SuiteDom extends \Magento\FunctionalTestingFramework\Config\MftfDom
1718
{
1819
const SUITE_META_FILENAME_ATTRIBUTE = "filename";
20+
const SUITE_META_NAME_ATTRIBUTE = "name";
21+
22+
/**
23+
* Duplicate stepKey validation for suite hook actions
24+
*
25+
* @var DuplicateNodeValidationUtil
26+
*/
27+
private $actionsValidationUtil;
1928

2029
/** SingleNodePerFileValidationUtil
2130
*
@@ -42,6 +51,7 @@ public function __construct(
4251
$schemaFile = null,
4352
$errorFormat = self::ERROR_FORMAT_DEFAULT
4453
) {
54+
$this->actionsValidationUtil = new DuplicateNodeValidationUtil('stepKey', $exceptionCollector);
4555
$this->singleNodePerFileValidationUtil = new SingleNodePerFileValidationUtil($exceptionCollector);
4656
parent::__construct(
4757
$xml,
@@ -76,6 +86,24 @@ public function initDom($xml, $filename = null)
7686
/** @var \DOMElement $suiteNode */
7787
$suiteNode = $dom->getElementsByTagName('suite')[0];
7888
$suiteNode->setAttribute(self::SUITE_META_FILENAME_ATTRIBUTE, $filename);
89+
$suiteName = $suiteNode->getAttribute(self::SUITE_META_NAME_ATTRIBUTE);
90+
$beforeNode = $suiteNode->getElementsByTagName('before')->item(0);
91+
$afterNode = $suiteNode->getElementsByTagName('after')->item(0);
92+
93+
if ($beforeNode instanceof \DOMElement) {
94+
$this->actionsValidationUtil->validateChildUniqueness(
95+
$beforeNode,
96+
$filename,
97+
$suiteName . '/before'
98+
);
99+
}
100+
if ($afterNode instanceof \DOMElement) {
101+
$this->actionsValidationUtil->validateChildUniqueness(
102+
$afterNode,
103+
$filename,
104+
$suiteName . '/after'
105+
);
106+
}
79107
}
80108
}
81109

0 commit comments

Comments
 (0)