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) {