gpt4 book ai didi

javascript - Protractor,检查元素的目标 "_blank"

转载 作者:行者123 更新时间:2023-12-03 01:43:41 24 4
gpt4 key购买 nike

我正在使用带有 Protractor 的 cucumber 来测试我的应用程序。当我尝试检查元素的属性“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.getText() 

那里。这是元素的方法,而目标,在您的情况下,是一个 promise (这将是您在解析时期望断言的值。检查它: https://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.getAttribute )。

就您而言,类似这样的事情应该有效:

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

})

关于javascript - Protractor,检查元素的目标 "_blank",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50736012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com