编程语言
首页 > 编程语言> > javascript – 量角器 – 请参阅第页上的文字

javascript – 量角器 – 请参阅第页上的文字

作者:互联网

我正在尝试在Protractor中编写测试,而没有将我的测试高度耦合到页面的特定标记.

例如,给定典型的登录页面,我想测试如果提供的凭据不正确,则会显示错误消息.

我的标记显示该错误的方式是:

<div class="alert alert-danger">
    <ul>
        <li>Invalid username or password.</li>
    </ul>
</div>

这个无序列表也可能包含其他错误 – 所以我不想在列表元素本身上做出断言.在任何情况下,我可能决定不再将错误显示为列表,并且可能希望以其他方式显示错误.

我想要的是能够断言该页面包含:无效的用户名或密码.

我希望能够做到这样的事情:

expect(page.getContents()).to.contain('Invalid username or password.'); 

但当然这不起作用.

Protractor中是否有任何方法可以让我这样做?

解决方法:

您可以使用element.getText().

https://angular.github.io/protractor/#/api?view=webdriver.WebElement.prototype.getText

Get the visible (i.e. not hidden by CSS) innerText of this element, including sub-elements, without any leading or trailing whitespace.

从列表中获取所有文本.然后期望(文本).toContain(“无效的用户名或密码”)

使用angularjs.org的示例:

 browser.driver.get('https://angularjs.org/')
    el = element(by.css('.first'))
    el.getText().then(function(text){expect(text).toContain("AngularJS is a toolset for")});

标签:javascript,testing,protractor,e2e-testing
来源: https://codeday.me/bug/20190611/1221162.html