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