在我的自动化项目中,我正在尝试注册用户,它需要在Chrome,FF和IE上运行。
它适用于Chrome和FF,但不适用于IE。当我输入电子邮件地址时:
setValue(emailField,"test@test.com");
IE将“@”更改为“2”(在我的键盘中,“@”和“2”在同一个键中)。我一直在寻找解释,但我找不到它改变它的原因,在Chrome和FF中它完美地运作,任何想法?谢谢!
的setValue()
public static void setValue(WebElement element, String value) {
String tagName = element.getTagName();
//check if WebElement is input or textarea
if(ConstantsFramework.INPUT.equalsIgnoreCase(tagName) || ConstantsFramework.TEXTAREA_MIN.equalsIgnoreCase(tagName) ) {
// write value in field
element.sendKeys(value);
} else if (ConstantsFramework.SELECT.equalsIgnoreCase(tagName)) {
// select element in combobox
select(element, value);
} else {
throw new IllegalArgumentException(ConstantsFramework.ADD_CODE_TO_SET_VALUE_FOR + tagName + ConstantsFramework.CLOSE_BRACKET);
}
}
答案 0 :(得分:0)
输入" @"在IE中,我必须按下Control + Alt + 2键(在我的西班牙语键盘中):
setValue(emailField,email_value.replace(" @",Keys.chord(Keys.CONTROL, Keys.ALT," 2")));