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"); 

2回目に呼び出して元の値を上書きすると、

//Overwrite total, but fails. 
assertFieldValues2(REQUISITION_TOTAL, "2500");  

次のエラー、無効なキーシーケンスが表示されます。キーダウンで失敗しているようです。キーダウンを削除すると、キーアップで失敗します。

私が間違っていることについて何か考えはありますか?js計算を実行するにはキーアップが必要です。

4

2 に答える 2

1

どのキーを押して離すかによって異なります。たとえば、「Enterキー」を押したい場合、コードは次のようになります。

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

ここで、13はEnterKeyのキー値です

モードキーコードについては、このリンクを参照してくださいキーコードとASCII値

于 2012-12-12T05:22:18.513 に答える
0

フィールドを上書きする前に、フィールドの以前の内容をクリアすることを常にお勧めします。

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

私はこれが役立つことを願っています...すべての最高:)

于 2012-12-11T05:57:11.530 に答える