我正在使用以下按键序列
protected void assertFieldValues(String fieldId, String value) {
focus("id=" + fieldId);
type("id=" + fieldId, value);
keyDown("id=" + fieldId, value);
keyUp("id=" + fieldId, value);
}
当我第一次调用该方法时,它没有问题,
public String REQUISITION_TOTAL = "requisitionTotal";
//initially add total
assertFieldValues2(REQUISITION_TOTAL, "1500");
当我第二次调用它来覆盖原始值时,
//Overwrite total, but fails.
assertFieldValues2(REQUISITION_TOTAL, "2500");
我收到以下错误,无效的密钥序列。它似乎在keydown失败,如果我删除keydown它在keyup上失败。
任何想法我做错了什么?我需要keyup来运行js计算。
答案 0 :(得分:1)
这取决于您要按下哪个键并释放。例如,如果您想按“Enter键”,代码将如下所示:
selenium.keyDown(REQUISITION_TOTAL."\13");
selenium.keyUp(REQUISITION_TOTAL."\13");
13是Enter Key 的关键值。
对于模式密钥代码,请参阅此链接Key Codes and ASCII Values
答案 1 :(得分:0)
在覆盖字段之前,始终建议清除字段的先前内容。
query = Driver.FindElement(By.Id(fieldId));
query.Clear();
我希望这会有所帮助...一切顺利:)