diff --git a/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php b/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php index 41c7fd3615..322cb01e89 100644 --- a/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php +++ b/core/modules/layout_builder/tests/src/FunctionalJavascript/LayoutBuilderTest.php @@ -381,10 +381,26 @@ protected function clickContextualLink($selector, $link_locator, $force_visible else { // If the link is not visible, click the contextual link button first. if (!$link->isVisible()) { - $element->find('css', '.contextual button')->press(); $this->assertTrue($page->waitFor(10, function () use ($element) { - return $element->find('css', '.contextual button[aria-pressed="true"]'); + return $element->find('css', '.contextual button.trigger.focusable'); + })); + $this->getSession()->executeScript("jQuery('$selector .contextual').trigger('mouseover');"); + $this->assertTrue($page->waitFor(10, function () use ($element) { + return !$element->find('css', '.contextual button.visually-hidden'); })); + $element->find('css', '.contextual button')->press(); + $button = $page->waitFor(10, function () use ($element) { + return $element->find('css', '.contextual button[aria-pressed="true"]'); + }); + if (!$button) { + $this->getSession()->executeScript("jQuery('$selector .contextual button').trigger('click');"); + $button = $page->waitFor(10, function () use ($element) { + return $element->find('css', '.contextual button[aria-pressed="true"]'); + }); + } + if (!$button) { + $this->assertSame('?', $element->getOuterHtml()); + } $this->assertTrue($page->waitFor(10, function () use ($link) { return $link->isVisible(); }), "Link $link_locator is visible."); diff --git a/core/scripts/run-tests.sh b/core/scripts/run-tests.sh index d55862599a..10b9521718 100755 --- a/core/scripts/run-tests.sh +++ b/core/scripts/run-tests.sh @@ -143,7 +143,7 @@ $test_list = simpletest_script_get_test_list(); if (in_array('Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderTest', $test_list)) { - $test_list = array_fill(0, 10, 'Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderTest'); + $test_list = array_fill(0, 30, 'Drupal\Tests\layout_builder\FunctionalJavascript\LayoutBuilderTest'); } else { $test_list = []; }