diff --git a/dev/tests/verification/Resources/ActionGroupWithParameterizedElementWithHyphen.txt b/dev/tests/verification/Resources/ActionGroupWithParameterizedElementWithHyphen.txt new file mode 100644 index 000000000..64a350505 --- /dev/null +++ b/dev/tests/verification/Resources/ActionGroupWithParameterizedElementWithHyphen.txt @@ -0,0 +1,32 @@ +executeJS("#element .full-width"); + } +} diff --git a/dev/tests/verification/TestModule/ActionGroup/FunctionalActionGroup.xml b/dev/tests/verification/TestModule/ActionGroup/FunctionalActionGroup.xml index 728b606b2..e6a7bad00 100644 --- a/dev/tests/verification/TestModule/ActionGroup/FunctionalActionGroup.xml +++ b/dev/tests/verification/TestModule/ActionGroup/FunctionalActionGroup.xml @@ -85,4 +85,10 @@ + + + + + + diff --git a/dev/tests/verification/TestModule/Test/ActionGroupTest.xml b/dev/tests/verification/TestModule/Test/ActionGroupTest.xml index 848fe8bcc..1417de556 100644 --- a/dev/tests/verification/TestModule/Test/ActionGroupTest.xml +++ b/dev/tests/verification/TestModule/Test/ActionGroupTest.xml @@ -158,4 +158,9 @@ + + + + + diff --git a/dev/tests/verification/Tests/ActionGroupGenerationTest.php b/dev/tests/verification/Tests/ActionGroupGenerationTest.php index 65d65d04d..d95e572ef 100644 --- a/dev/tests/verification/Tests/ActionGroupGenerationTest.php +++ b/dev/tests/verification/Tests/ActionGroupGenerationTest.php @@ -195,4 +195,15 @@ public function testActionGroupWithSkipReadiness() { $this->generateAndCompareTest('ActionGroupSkipReadiness'); } + + /** + * Test an action group with an arg that resolves into section.element with a hyphen in the parameter + * + * @throws \Exception + * @throws \Magento\FunctionalTestingFramework\Exceptions\TestReferenceException + */ + public function testActionGroupWithHyphen() + { + $this->generateAndCompareTest('ActionGroupWithParameterizedElementWithHyphen'); + } } diff --git a/src/Magento/FunctionalTestingFramework/Module/MagentoWebDriver.php b/src/Magento/FunctionalTestingFramework/Module/MagentoWebDriver.php index b343e4867..6c680784c 100644 --- a/src/Magento/FunctionalTestingFramework/Module/MagentoWebDriver.php +++ b/src/Magento/FunctionalTestingFramework/Module/MagentoWebDriver.php @@ -377,7 +377,7 @@ public function waitForPageLoad($timeout = null) * @throws \Exception * @return void */ - public function waitForLoadingMaskToDisappear($timeout) + public function waitForLoadingMaskToDisappear($timeout = null) { foreach (self::$loadingMasksLocators as $maskLocator) { // Get count of elements found for looping. diff --git a/src/Magento/FunctionalTestingFramework/Test/Objects/ActionGroupObject.php b/src/Magento/FunctionalTestingFramework/Test/Objects/ActionGroupObject.php index 2b63709fc..67c1ba25c 100644 --- a/src/Magento/FunctionalTestingFramework/Test/Objects/ActionGroupObject.php +++ b/src/Magento/FunctionalTestingFramework/Test/Objects/ActionGroupObject.php @@ -204,7 +204,7 @@ private function resolveAttributesWithArguments($arguments, $attributes) // $regexPattern match on: $matches[0] {{section.element(arg.field)}} // $matches[1] = section.element // $matches[2] = arg.field - $regexPattern = '/{{([\w.\[\]]+)\(*([\w.$\',\s\[\]]+)*\)*}}/'; + $regexPattern = '/{{([^(}]+)\(*([^)}]+)*\)*}}/'; $newActionAttributes = []; foreach ($attributes as $attributeKey => $attributeValue) {