Транспортир, проверяющий цель "_blank" элемента - PullRequest
0 голосов
/ 07 июня 2018

Я использую огурец с транспортиром для тестирования моего приложения.У меня проблема, когда я пытаюсь проверить, что значение атрибута "target" элемента равно "_blank".

Здесь мой html:

<div class="cta-group">
    <div class="cta-link">
        <a href="https://www.starting_to_write.com/" aria-label="Writing for the holidays" target="_blank" data-linktext="Writing for the holidays" data-clicktype="general" data-is-click-tracking-enabled="true">
            Writing for the holidays
        </a>
    </div>
</div>

Здесь моя попыткаполучить и проверить, что значение "target" равно "_blank":

Then('I want to see a CTA link with a target blank to open the writing for the holidays', {timeout: 90 * 1000}, function (next) {
  let cta_class = element(by.css('a[data-linktext="Writing for the holidays"]'));
  let target = cta_class.getAttribute("target");
  //expect(target).to.equal('_blank');
  target.getText().then(function(text){
        console.log("target at the moment is: ",text);
        return expect(text).to.equal('_blank');
  });
  expect(cta_class.isPresent()).to.eventually.be.true;
  next();

});

Когда я запускаю тест, console.log не показывает "target вмомент: «и не проверяйте ничего на ожидание.Кто-нибудь может мне помочь?Спасибо.

1 Ответ

0 голосов
/ 07 июня 2018

Вам не нужно использовать

target.getText() 

там.Это метод для элементов, и target, в вашем случае, - это обещание (это будет значение, которое вы ожидаете для подтверждения, когда оно станет решенным. Проверьте его: https://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.getAttribute).

В вашем случае,как то так должно работать:

cta_class.getAttribute("target").then( (value) => {
    return expect(text).to.equal('_blank');

})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...