我试图写一个简单的"登录失败"在量角器中测试。问题是,我无法指出(不知道如何)源代码中的特定字符串。
我尝试了各种各样的事情:cssContainingText,相等,获取文本等等(也许它没问题,但我做错了)。
测试:
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);
});
});
请查看源代码。
我真的需要这个建议!
我得到的错误是:
@alecxe
1)登录POC应该登录POC 信息: NoSuchElementError:找不到使用locator找到的元素:By.cssSelector(" .action-messages") 堆栈跟踪: NoSuchElementError:找不到使用locator找到的元素:By.cssSelector(" .action-messages") ====异步任务==== 异步测试功能:it() 错误 在[object Object]。 (/localfs/Poc/qapoc1/ECHOS-V2-POC/tests/fail_login.js:16:18) 错误 在[object Object]。 (/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次失败
答案 0 :(得分:0)
您错过了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 ...");