2012-12-10 62 views
0

我用下面的按鍵順序,硒無效鍵序列

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上失敗。

任何想法我做錯了什麼?我需要鍵盤來運行js計算。

+0

爲哪個鍵這些值1500和2500架? –

+0

我的鑰匙是requisitionTotal,我在完美的字段中設置了1500的值,然後我嘗試用2500覆蓋該值,並且失敗。 –

+0

你知道關於keyup和keydown方法嗎? –

回答

1

這取決於你想按下去,如果你想按「回車鍵」釋放up.Say例如哪個鍵代碼將是這樣的:

selenium.keyDown(REQUISITION_TOTAL."\13"); 
selenium.keyUp(REQUISITION_TOTAL."\13"); 

哪裏13是Enter鍵鍵值。

對於模式的鍵碼是指該鏈接Key Codes and ASCII Values

0

在覆蓋該字段之前,總是建議清除該字段的先前內容。

query = Driver.FindElement(By.Id(fieldId)); 
query.Clear(); 

我希望這有助於...一切順利:)

+0

感謝您的提示,但是這並沒有最終成爲我的解決方案。 –