This commit is contained in:
Dan Poltawski 2017-03-07 11:08:24 -03:00
commit 7ebe17f38a
2 changed files with 13 additions and 5 deletions

View file

@ -241,8 +241,9 @@ class behat_forms extends behat_base {
* @return void * @return void
*/ */
public function i_set_the_field_with_xpath_to($fieldxpath, $value) { public function i_set_the_field_with_xpath_to($fieldxpath, $value) {
$fieldNode = $this->find('xpath', $fieldxpath); $fieldnode = $this->find('xpath', $fieldxpath);
$field = behat_field_manager::get_form_field($fieldNode, $this->getSession()); $this->ensure_node_is_visible($fieldnode);
$field = behat_field_manager::get_form_field($fieldnode, $this->getSession());
$field->set_value($value); $field->set_value($value);
} }

View file

@ -624,8 +624,16 @@ class behat_general extends behat_base {
function($context, $args) { function($context, $args) {
foreach ($args['nodes'] as $node) { foreach ($args['nodes'] as $node) {
if ($node->isVisible()) { // If element is removed from dom, then just exit.
throw new ExpectationException('"' . $args['text'] . '" text was found in the page', $context->getSession()); try {
// If element is visible then throw exception, so we keep spinning.
if ($node->isVisible()) {
throw new ExpectationException('"' . $args['text'] . '" text was found in the page',
$context->getSession());
}
} catch (WebDriver\Exception\NoSuchElement $e) {
// Do nothing just return, as element is no more on page.
return true;
} }
} }
@ -637,7 +645,6 @@ class behat_general extends behat_base {
false, false,
true true
); );
} }
/** /**