setValue на ноль, когда тесты behat выполняются с тегом javascript - PullRequest
0 голосов
/ 01 марта 2019

Итак, это код, который я пытаюсь выполнить с помощью behat.проблема с этим ocde в том, что он работает нормально, но с тегом @javascript он выдает фатальную ошибку

Fatal error: Call to a member function setValue() on null (Behat\Testwork\Call\Exception\FatalThrowableError

код, на который он выдает ошибку, это

/**
   * @Given /^I am logged in as "([^"]*)" with "([^"]*)" password$/
   */
  public function iAmLoggedInAsWithPassword($user_name, $password) {
    $session = $this->getSession();
    $session->visit($this->locatePath('/user/logout'));
    $session->visit($this->locatePath('/user'));
    $user_field = $session->getPage()->findById('edit-name');
    $password_field = $session->getPage()->findById('edit-pass');
    $submit = $session->getPage()->findById('edit-submit');

    $user_field->setValue($user_name);
    $password_field->setValue($password);
    // $this->iWaitSeconds(10);
    $submit->click();
  }

FORM CODE

<form class="user-login-form" data-drupal-selector="user-login-form" action="/user/login?destination=/echidnet" method="post" id="user-login-form" accept-charset="UTF-8">
  <div class="js-form-item form-item js-form-type-textfield form-item-name js-form-item-name">
      <label for="edit-name" class="js-form-required form-required">Username</label>

<input autocorrect="none" autocapitalize="none" spellcheck="false" autofocus="autofocus" data-drupal-selector="edit-name" aria-describedby="edit-name--description" type="text" id="edit-name" name="name" value="" maxlength="60" class="form-text required" required="required" aria-required="true">

            <div id="edit-name--description" class="description">
      Enter your Drush Site-Install username.
    </div>
  </div>
<div class="js-form-item form-item js-form-type-password form-item-pass js-form-item-pass">
      <label for="edit-pass" class="js-form-required form-required">Password</label>

<input data-drupal-selector="edit-pass" aria-describedby="edit-pass--description" type="password" id="edit-pass" name="pass" maxlength="128" class="form-text required" required="required" aria-required="true">

            <div id="edit-pass--description" class="description">
      Enter the password that accompanies your username.
    </div>
  </div>

<input autocomplete="off" data-drupal-selector="form-gpoykgmighi6tc6v09nkhoh-qxhh-5tpfr8q4sj-bjw" type="hidden" name="form_build_id" value="form-GpoyKgMIGHI6tC6v09NKhoH-QxhH_5TpFR8Q4sJ-BJw">

<input data-drupal-selector="edit-user-login-form" type="hidden" name="form_id" value="user_login_form">
<div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions">
<button data-drupal-selector="edit-submit" type="submit" id="edit-submit" name="op" value="Log in" class="button js-form-submit form-submit button-edit-submit"> Log in </button> 
</div>

</form>

существует ли javascript, эквивалентный этому коду, что он вызывает ошибку при запуске его через javascript?

Любой другой код, необходимый, я опубликую его,как моя особенность, файл behat.yml.я не думаю, что это необходимо, но если потребуется, я буду.спасибо за помощь

...