在源 HTML 代码中查找量角器中无效登录大小写的元素



我正在尝试在量角器中编写一个简单的"登录失败"测试。问题是,我无法指向(不知道如何)源代码中的特定字符串。

我尝试了各种各样的东西,比如: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: 使用定位器找不到元素:By.cssSelector(".action-messages") 堆栈跟踪: NoSuchElementError: 使用定位器找不到元素: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 次失败

您错过了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 ...");

最新更新