如何检查屏幕上可见的位置文本以使用语句检查期望文本



我正在编写一种用于单个屏幕中各种文本框的错误消息验证的方法。例如:名称字段错误消息此他的字段必须只有字母,数字,空间或任何 - '" ._ !@#$%&*^,而另一个字段错误消息是此字段必须仅包含字母,数字和空格。就像有很多文本框一样,我需要在文本框中传递一个值,并获取验证的错误消息,我正在附加我的脚本

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])
            }
        })
    });
}

最新更新