答えて

9

Seleniumのいくつかのバージョンがあります.Selenium Web Driverは、ユーザーと同じようにUIとやりとりするアクションをシミュレートすることで、ブラウザを処理するドライバを作成することができます。 (Jsonワイヤを介して)。

カルマの私の現在の理解(私は非常に限られています)は、JavaScriptを実行することに大きく依存しています。このカルマのために、Seleniumがちょうどクリックし、タブアウトし、カーソルを移動するのに対して、要素上の変更イベント( 'blur'や 'hover over'など)をコールする必要があります。 Seleniumのブラウザは、Webページhereで指定されたブラウザに限定されています。

+0

あなたはジャスミンで明示的にそれらを呼び出す必要はありませんこれらのUIイベントをラップする方法はありますか? – Nikos

22

カルマとセレンの間には大きな違いがあります。 Seleniumにはブラウザ制御機構が組み込まれていますが、Karmaはそうではありません。したがって、セレンは、例えば、nightwatch.jsのように、テストを終了させるためにより適しています。カルマは単体テスト用に設計されているため、エンドツーエンドのテストを実現するのはずっと難しく、たとえばphantomjsランチャを追加することはできますが、セレンを使った実際のブラウザテストと同じになることはありません...彼らはアダプタを持っている場合、彼らは任意のjsのテストフレームワークを実行することができます...モカ、ジャスミン、qunitなど...

+0

カルマのChromeランチャーを使用すると、Chromeのインスタンスが起動されます。それはChromeを使用するのと同じではありませんか?修辞ではなく、真剣に知らない – Francisc0

-1

それはあなたがテストしているかによって異なります。あなたがjasmine/mocha/chaiまたは同等のものを介してユニットテストを書くためにjavascriptを使用している場合、カルマがjavascriptとseleniumに大きく依存しているという議論は冗長です。

経験の浅い私は、自動化されたテスターをほとんど使用していませんでしたが、セレニウム言語を選択すると、メソッドのセレンライブラリはjqueryのような同等のセレクタエンジンほど覚えにくいです。企業は、より複雑な自動テスト

に投資するために

開発者が少なく、言語を学習するための言語、および関心の欠如を学ぶための専用の自動化されたテスターのための難しさは、投資の不足を永続いくつかありました何年にもわたってセレンを使ったjqueryの実装を拡張していますが、実際には巨大なフォローがあり、ほとんどがjavaで書かれています。

WebdriverioがNPMパッケージには、いくつかのjqueryの機能を備えていた - https://www.npmjs.com/package/webdriverio-jquery

カルマは全体jqueryのエンジンをインポートするための手段を持っている - https://github.com/bessdsv/karma-jasmine-jquery

それはテストされているものを依存しています。フロントエンドコードをテストしている場合は、javascriptを使用することが理にかなっています。セレンの言語よりもjqueryを使用するほうが簡単で、現在のカルマはwebdriverよりもjqueryをサポートしています。

jqueryを自動テストに使用すると、開発者が自動テストに移行できるようになり、逆も同様です。