我正在尝试用protractor编写一个简单的“登录失败”测试。问题是,我不能(不知道如何)指向源代码中的特定字符串。
我尝试了所有的东西,比如: cssContainingText,to equal,获取文本等等(也许这是可以的,但我做错了)。
测试:
describe('login to POC', function() {
it('should login to POC', function() {
browser.get('http://emeaherz-swaqal:8080/web-client/login.html#/login');
element(by.model('echos_username')).sendKeys('super1');
element(by.model('echos_password')).sendKeys('super');
element(by.id('loginButton')).click();
expect(by.id('action-messages')).getText('The following error(s) occurred:').isPresent()).toBe(true);
});
}); 请看源代码。
我真的需要这里的建议!
html source
我得到的错误是:
@alecxe
1)登录到POC应登录到POC消息: NoSuchElementError:使用locator找不到元素: By.cssSelector(".action-messages")堆栈跟踪: NoSuchElementError:使用locator找不到元素: By.cssSelector(".action-messages") ====异步任务====异步测试函数: it()对象出错。对象对象处出现(/localfs/Poc/qapoc1/ECHOS-V2-POC/tests/fail_login.js:16:18)错误。对象处的(/localfs/Poc/qapoc1/ECHOS-V2-POC/tests/fail_login.js:6:3)。(/localfs/Poc/qapoc1/ECHOS-V2-POC/tests/fail_login.js:1:63)
在4.942秒内完成1次测试,1次断言,1次失败
发布于 2016-02-24 02:22:43
您错过了element调用,我认为您可以期待错误消息的文本。替换:
expect(by.id('action-messages')).getText('The following error(s) occurred:').isPresent()).toBe(true);通过以下方式:
expect($('#action-messages ul li').getText()).toEqual("Sorry, your username ...");https://stackoverflow.com/questions/35585185
复制相似问题