2 declare(strict_types = 1);
18 use Codeception\Example;
19 use Facebook\WebDriver\Exception\UnknownServerException;
20 use Facebook\WebDriver\Remote\RemoteWebDriver;
21 use Facebook\WebDriver\Remote\RemoteWebElement;
22 use Facebook\WebDriver\WebDriverKeys;
47 $fieldLabel = $testData[
'label'];
48 $initializedInputFieldXpath =
'(//label[contains(text(),"' . $fieldLabel .
'")])'
49 .
'[1]/parent::*//*/input[@data-formengine-input-name][@data-formengine-input-initialized]';
52 $I->waitForElement($initializedInputFieldXpath, 30);
58 if ($testData[
'comment'] !==
'') {
59 $I->comment($testData[
'comment']);
62 $I->fillField($inputField, $testData[
'inputValue']);
67 $otherInputField->click();
69 $otherInputField->sendKeys(WebDriverKeys::ESCAPE);
71 $I->waitForElementNotVisible(
'#t3js-ui-block');
73 $I->comment(
'Test value of visible and hidden field');
74 $I->seeInField($inputField, $testData[
'expectedValue']);
75 $I->seeInField($hiddenField, $testData[
'expectedInternalValue']);
77 $I->comment(
'Save the form');
78 $saveButtonLink =
'//*/button[@name="_savedok"][1]';
79 $I->waitForElement($saveButtonLink, 30);
80 $I->click($saveButtonLink);
82 $I->waitForElementNotVisible(
'#t3js-ui-block');
83 $I->waitForElement(
'//*/button[@name="_savedok"][not(@disabled)][1]', 30);
84 $I->waitForElement($initializedInputFieldXpath, 30);
92 $I->comment(
'Test value of visible and hidden field');
93 $I->seeInField($inputField, $testData[
'expectedValue']);
94 $I->seeInField($hiddenField, $testData[
'expectedValueAfterSave']);
105 return $formSection->findElement(\WebDriverBy::xpath(
'.//*/input[@data-formengine-input-name]'));
115 protected function getHiddenField(RemoteWebElement $formSection, RemoteWebElement $inputField)
117 $hiddenFieldXPath =
'.//*/input[@name="' . $inputField->getAttribute(
'data-formengine-input-name') .
'"]';
118 return $formSection->findElement(\WebDriverBy::xpath($hiddenFieldXPath));
130 $I->comment(
'Get context for field "' . $fieldLabel .
'"');
131 return $I->executeInSelenium(
132 function (RemoteWebDriver $webDriver) use ($fieldLabel) {
133 return $webDriver->findElement(
135 '(//label[contains(text(),"' . $fieldLabel .
'")])[1]/ancestor::fieldset[@class="form-section"][1]'
150 $I->click($tabTitle);
151 }
catch (UnknownServerException $exception) {
166 $field->sendKeys(WebDriverKeys::PAGE_UP);
167 $I->click($tabTitle);
168 }
catch (UnknownServerException $exception) {
171 }
while ($doItAgain ===
true && $maxPageUp > 0);