Jupiter ITチームは、テストで使用する合成イベントを作成できるライブラリである
Synをリリースしました。 この別のライブラリは、キーボードでの入力、マウスでのクリックやドラッグなどのユーザーアクションをシミュレートすることにより、ユーザーインターフェイスの複雑な動作のテストを支援するように設計されています。
リッチで動的なWebアプリケーションのテストは難しいものです。 当社では、利用可能なテストソリューション(qUnit、Quick Test Pro、Selenium、JsUnit、Env.js、TestCase)のほぼすべてを試しましたが、それらはすべて致命的な欠陥に苦しんでいます。
問題は次のとおりです。
- 手動作業-テスターは、サポートされている各ブラウザーでテストを手動で実行する必要があります。 人々は怠け者です。
- 単体テストのみ-アプリケーション全体と、ドラッグアンドドロップ動作などのニュアンスを含む複雑なユーザーインターフェイスをテストする必要があります。
- 低精度-テストレポートで正確な結果が得られるようにする必要があります。
- 書くのが難しい-便利なJS APIを使用してテストを書きたい。
- 高コスト-QTPライセンスは1人あたり5Kかかります! あなたの休暇のより良い支払い。
- サポート-MacおよびLinuxのブラウザーでもテストしたい。
FuncUnitと呼ばれる今後のテストフレームワークのフレームワーク内でこれらすべての問題を解決しました。 これは、qUnit、Selenium、Rhino、およびEnv.jsのマッシュアップです。 ただし、そのメインライブラリはSynであり、これは非常に高い精度でユーザーアクションを模倣し、今日リリースしています。
たとえば、次のコードを使用します。
Syn.click( {}, 'hello' )
.type( 'Hello World' )
.drag( $( '#trash' ) );
* This source code was highlighted with Source Code Highlighter .
hello識別子を持つ要素をクリックして「Hello World」と入力し、その要素からマウスを識別子trashを持つ要素にドラッグすることをシミュレートできます。
素晴らしいことです。
デモを見て、イベントがどのように記録および再生されるかを確認してください 。