2

私は Jasmine で FuncUnit を使用して Web アプリケーションをテストしています。私が一貫して遭遇した問題の 1 つは、型番号の入力への入力に関連しています。

<input type="number" min="0.01" step="0.01" pattern="[0-9]+([\.|,][0-9]+)?" class="form-control m-wrap m-ctrl-large" placeholder="10" onkeypress=" return isDecimalKey(event); ">

メソッドはisDecimalKey基本的にタイプコードをチェックして、ユーザーが数字または小数点を入力していることを確認します。

function isDecimalKey(e) {
    var charCode = (e.which) ? e.which : event.keyCode;
    if (charCode !== 46 && charCode > 31
        && (charCode < 48 || charCode > 57))
        return false;
    else
        return true;
}

入力を手動で入力する場合、Ctrl+A で現在の値を強調表示し、バックスペースまたは削除キーで削除して、新しい値を入力できます。ただし、FuncUnit で同じことをしようとすると、次のエラーが発生します。

Uncaught InvalidStateError: Failed to read the 'selectionStart' property from 'HTMLInputElement': The input element's type ('number') does not support selection.

次の挿入方法を試しました。

F('input').visible().click().type('[ctrl]a[ctrl-up][delete] 6');
F('input').visible().click().type('[\b][\b] 6');
F('input').visible().click().type('6');
F('input').visible().dblclick().type('6');

これまでのところ、上記のどれも機能していません。この入力の値を操作するための最良の方法は何ですか? ありがとう!

4

0 に答える 0