Dalek.js-Webアプリケーションの簡単な機能テスト

SeleniumPhantomJSが何であるか知っていますか? そして、彼らは何を食べますか? 次に、おそらく、WebアプリケーションをテストするためのクロスブラウザーユーティリティであるDalek.jsプロジェクトに興味があるでしょう。



Dalek.jsを使用すると、Webページに移動するテストを記述し、リンクをクリックし、フォームに入力し、データを送信し、スクリーンショットを撮ることができます。 SeleniumまたはPhantom.jsを使用して記述されたテストは同じことを行い、さらに多くのことを行いますが、何がキャッチですか?







しかし! このテストがいかに簡単かをご覧ください。

test.js

module.exports = { 'Page title is correct': function (test) { test .open('http://google.com') .assert.title().is('Google', 'It has title') .done(); } };
      
      





ブラウザでgoogle.comを開き、ページのタイトルに「Google」と表示されていることを確認します。



それを開始するには、次のことが必要です。

a)Dalek.jsと目的のブラウザー(PhantomJSはそのまま使用可能)のドライバーを、以前に作成したノードプロジェクトのディレクトリにインストールします(ただし、プロジェクト自体は基本的に不要です)

例:Dalek.js + Chromeドライバー

 $ npm install dalek-cli -g $ npm install dalekjs --save-dev $ npm install dalek-browser-chrome --save-dev
      
      





b)コマンドを実行します:

 $ dalek test.js //   PhantomJS $ dalek test.js -b chrome //   Chrome
      
      







ドキュメントからの別の簡単なテスト:

 module.exports = { 'Amazon does its thing': function (test) { test .open('http://www.amazon.com/') .type('#twotabsearchtextbox', 'Blues Brothers VHS') .click('.nav-submit-input') .waitForElement('#result_0') .assert.text('#result_0 .newaps a span').is('The Blues Brothers') .done(); } };
      
      





Amazonでは、Blues Brothersビデオカセットを探しており、検索結果に探しているものが実際に含まれていることを確認しています。



公式のドキュメントとサンプル( www.dalekjs.comですべてが詳細で理解できる)をコピーアンドペーストすることはしませんが、プロジェクトをサポートするようお願いします。 なんで?



Seleniumの代わりにPhantomJSをテストに使用することをマスターすることに決めたので、テストを記述する方がより便利なフレームワーク(Mocha、Jasmineなど)を検索し始めました。 一言一言、そして今Googleはこのプロジェクトへのリンクを提供しました。 テストを作成して最初にビジュアルモード(Chrome)で実行し、次にコンソールモード(PhantomJS)で実行すると、すぐに結果がわかりました。



Dalek.jsにはいくつかの便利な機能があると思います。最小限のパラメーターを使用したチェーンスタイルの関数呼び出し、インストール時の超シャーマニズムダンスは不​​要であり、十分に文書化されています。 プロジェクトには多数の未解決のバグがあり、機能を追加することを約束します(たとえば、少なくともマウスの動きが必要で、フォームにファイルをアップロードします)。



GitHubの星の数とメディアスペースのツイートの数の増加という形でのコミュニティの注目は、Dalek.js開発の活動に少なくともわずかに貢献している可能性があります。



Of.site Dalek.js

GitHubのDalek.js

TwitterのDalek.js



All Articles