我正在编写一种用于单个屏幕中各种文本框的错误消息验证的方法。例如:名称字段错误消息此他的字段必须只有字母,数字,空间或任何 - '" ._ !@#$%&*^,而另一个字段错误消息是此字段必须仅包含字母,数字和空格。就像有很多文本框一样,我需要在文本框中传递一个值,并获取验证的错误消息,我正在附加我的脚本
unsupportedCharacters(ele): any{
if (errormessage == expect(element(by.id("nameError")).isDisplayed()).toBeTruthy()) {
expect(errormessage.getText()).toBe("This field must only have letters, numbers, space, or any of -'"._+!@#$%&*^")
} else if (errormessage == expect(element(by.id("codeError")).isDisplayed()).toBeTruthy()) {
expect(errormessage.getText()).toBe("This field must contain only letters, numbers, and spaces");
}
unsupportedCharacters(ele): any {
let messages = [
"This field must only have letters, numbers, space, or any of -'"._+!@#$%&*^",
"This field must contain only letters, numbers, and spaces"
];
let targets = [
element(by.id("nameError"),
element(by.id("codeError")
];
let promiseArr = targets.map((ele)=>{
return ele.isDisplayed();
});
return Promise.all(promiseArr).then((res)=>{
res.forEach((dispalyed, index)=>{
if(dispalyed) {
expect(targets[index].getText()).toBe(messages[index])
}
})
});
}