请帮助我,我有两个问题:
1)首先,我需要将来自以下内容的“警报”弹出窗口中的文本相等:
<div class="noty_message message"><span class="noty_text">Uh oh! Email or password is incorrect</span></div>
我的代码:
var loginAlert = element(by.className('noty_text'));
expect(loginAlert.getAttribute('text')).toEqual("Uh oh! Email or password is incorrect")
但是我每次都会出错: 预期null等于'呃!电子邮件或密码不正确'。
在第一种情况下,我还尝试通过getText()查找
2)问题出在空间不足,但我不知道如何添加正确的空间
发件人:
<span class="tooltip-text">Uh oh! This<br>isn’t an email</span>
我的代码:
var newInvalidEmail = invalidEmail.getText().then(function (text) {
expect(text.replace(/\n/, '')).toBe("Uh oh! This isn't an email");
});
expect(newInvalidEmail).toEqual("Uh oh! This isn't an email")
错误消息: 期待'哦哦!这不是电子邮件,而是“哦,哦!这不是电子邮件'。
答案 0 :(得分:0)
01-您必须使用getText()
或getAttribute("innerText")
,确保只有一个具有noty_text
类名的元素,如果不起作用,也请尝试等待找到该元素。
var loginAlert = element(by.className('noty_text'));
expect(loginAlert.getText()).toEqual("Uh oh! Email or password is incorrect")
2-只需在replace函数的第二个参数中添加空格,而不是空字符串replace(/\n/, ' '))
var newInvalidEmail = invalidEmail.getText().then(function (text) {
expect(text.replace(/\n/, ' ')).toBe("Uh oh! This isn't an email");
});
expect(newInvalidEmail).toEqual("Uh oh! This isn't an email")