我无法从 class 获取文本,它 returns 为空
I can't get Text from the class, it returns null
请帮助我,我有两个问题:
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 等于 'Uh oh! Email or password is incorrect'.
在第一种情况下,我还尝试通过 getText() 进行查找
2) 问题出在space,但是我不知道如何添加正确的space
发件人:
<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")
错误信息:
预期 'Uh oh! Thisisn’t an email' 是 'Uh oh!这不是电子邮件'。
01- 您必须使用 getText()
或 getAttribute("innerText")
,确保只有一个元素具有 noty_text
class 名称,如果不起作用,请尝试在找到元素之前等待。
var loginAlert = element(by.className('noty_text'));
expect(loginAlert.getText()).toEqual("Uh oh! Email or password is incorrect")
2- 只需在替换函数的第二个参数中添加 space 而不是空字符串 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")
请帮助我,我有两个问题:
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 等于 'Uh oh! Email or password is incorrect'.
在第一种情况下,我还尝试通过 getText() 进行查找
2) 问题出在space,但是我不知道如何添加正确的space
发件人:
<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")
错误信息: 预期 'Uh oh! Thisisn’t an email' 是 'Uh oh!这不是电子邮件'。
01- 您必须使用 getText()
或 getAttribute("innerText")
,确保只有一个元素具有 noty_text
class 名称,如果不起作用,请尝试在找到元素之前等待。
var loginAlert = element(by.className('noty_text'));
expect(loginAlert.getText()).toEqual("Uh oh! Email or password is incorrect")
2- 只需在替换函数的第二个参数中添加 space 而不是空字符串 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")