2

私が取り組んでいるテスト フレームワークの一部として、Chrome でキーボード イベントをシミュレートできるようにする必要があります。具体的には、INPUT 要素の値を入力する必要があります。これは Firefox では比較的簡単に実行できますが、何らかの理由で Chrome は生成されたイベントを無視します。(実際にそれらを無視しているわけではありません。以下を参照してください)

ここで、SOに関するいくつかの質問を確認しました。

問題は、イベントがディスパッチされていない (そうである) または受信されていない (そうである) ことではなく、Chrome が文字をフォーム要素に挿入していないことです。

JSBin でこの例を参照してください(上記のリストの最初の URL に基づいており、 which/keyCode == 0 問題の修正が含まれています)。

これらの生成された KeyboardEvents で Chrome は何をしていますか?また、シミュレートされたキーをフォーム要素に挿入するように説得する方法はありますか?

ノート:

  • テスト フレームワークは本質的に Selenium に似ており、ユーザー操作の代わりにキーボードとマウスのイベントをシミュレートする必要があります。プロジェクトの性質上、このテスト フレームワークはカスタム ビルドする必要があり、現時点では Selenium を使用できません。
  • 潜在的なソリューションは、サードパーティのライブラリを必要とせず、Chrome 23 以降で動作する必要があります
  • 現時点では、キープレス イベントのリスナーを追加し、手動で文字を挿入しています。テスト時にこの余分なコードを挿入する必要があるため、これを避けたいと思います。

4

0 に答える 0