Я пытаюсь использовать Behat, чтобы проверить, содержит ли поле ввода адреса электронной почты определенный домен.
Вот HTML:
<input autocomplete="off" data-drupal-selector="edit-mail" aria-describedby="edit-mail--description" type="email" id="edit-mail" name="mail" value="newemail@example.com" size="60" maxlength="254" class="form-email required form-element form-element--type-email form-element--api-email" required="required" aria-required="true">
Сначала я попробовал следующее:
And the "input#edit-mail" element should contain "example.com"
Однако это не удается:
The string "example.com" was not found in the HTML of the element matching css "input#edit-mail". (Behat\Mink\Exception\ElementHtmlException)
Итак, я попытался написать свою собственную проверку в FeatureContext.php
на основе этой проблемы :
/**
* @Then the :element element should have the value :value
*/
public function iShouldSeeValueElement($element, $value) {
$page = $this->getSession()->getPage();
// Alternately, substitute with getText() for the label.
$element_value = $page->find('css', "$element")->getValue();
if ($element_value != $value) {
throw new exception('Value "'.$value.'" not found in element '.$element.'.');
}
}
Однако этот код находит значение только в том случае, если оно является точным совпадением, поэтому оно не будет соответствовать только домену.
Как я могу проверить только домен (частичное совпадение) в поле ввода?