grunt.jsでパフォーマンステストを自動化します
キーテイクアウト
- grunt.jsタスクランナーを使用して、Web開発プロセス中にパフォーマンステストを自動化できます。パフォーマンス目標または「予算」がQAプロセスに厄介な手動テストを追加せずに満たされるようにします。 Grunt Perfuldgetプラグインは、Webpagetest.org APIを使用して、ページ重量、画像サイズ、スクリプト重量、レンダリング時間などのメトリックに対してサイトを測定します。開発者は、これらのメトリックの明示的な予算を設定できます。プラグインは、サイトを測定します。
- grunt.jsは、コードがエラーなしで効率的に実行され、時間を節約し、ヒューマンエラーのリスクを減らすことを保証するタスクを自動化するため、パフォーマンステストに重要です。これにより、より信頼性が高く高品質のソフトウェアにつながります
- この2 MBのWebページの年齢では、パフォーマンス予算が必要な部分になりつつあります。あなたのプロジェクトの利害関係者と協力して、あなたのウェブサイトのパフォーマンスの目標を設定するために、すべての人の責任 - デザイナーと開発者の両方になります。 さまざまなメトリックの予算を設定する場合があります。たとえば、500キロバイトのターゲットページ重量で、プロジェクト内の単一ページを超えることはできません。 500kbを超えるためにページに追加される要素は、デザインに含めることを決定するために、ページ上の他の要素に対して評価する必要があります。ティム・カドレックが説明しているように、あなたの決定は3つのパスのいずれかをとらなければなりません:
ページ上の既存の機能またはアセットを最適化
ページから既存の機能またはアセットを削除します
- 新機能や資産を追加しないでください
-
を入力してください - grunt.js webpagetest.org =自動化されたパフォーマンステストBliss
APIキーを取得します
Gruntタスクのセットアップを取得する前に、gruntfileに含めるAPIキーについてWebpagetest.orgにメールを送信する必要があります。 (良いニュース:作業にはこのプロセスに代わるものがあります!)
Grunt Perfuldgetプラグインをインストールします
これがグラントを使用するのが初めての場合は、Gruntで起きて実行するための私のチュートリアルをチェックしてください。
既にグラントをコンピューターにインストールしている場合は、パフォーマンステストをセットアップする前に、パフォーマンスプラグインをインストールするだけです。コマンドラインを介してプロジェクトフォルダーに移動して実行します:
npm install grunt-perfbudget --save-dev
PerfBudgetタスクを構成
プラグインをインストールしたら、プラグインオプションをセットアップし、gruntfile.jsにタスクを作成する必要があります。デフォルトのGruntコマンドの一部としてPerfbudgetタスクを実行するデモGruntFileを作成しました。
APIキーセットでデフォルトのグラントタスクを実行すると、コンソールで次の出力を取得します。
module<span>.exports = function(grunt){ </span> <span>require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks); </span> grunt<span>.initConfig({ </span> <span>pkg: grunt.file.readJSON('package.json'), </span> <span>perfbudget: { </span> <span>default: { </span> <span>options: { </span> <span>url: 'http://cfarman.com', </span> <span>key: 'APIKEY' </span> <span>} </span> <span>} </span> <span>} </span> <span>}); </span> grunt<span>.registerTask('default', ['perfbudget']); </span><span>};</span>
なぜ私のタスクが失敗したのですか?私のウェブサイトがデフォルトの予算を渡さなかったため、1000ミリ秒未満でレンダリングされたためです。また、「SpeedIndex」と呼ばれるメトリックでも失敗しました。 Webページのパフォーマンスについて詳しく知るにはどうすればよいですか?幸いなことに、WebPageTestには、PerfCrodgetテストのコンソールから直接リンクされている非常に詳細なURLを参照できます!
私のウェブサイトを渡すために、グラントタスクを失敗させないために(したがって、自動ビルド環境でWebサイトのビルドを停止するのを停止します)、2つのオプションがあります。パフォーマンスにはそれほど多くありません!)または、パフォーマンス予算ルールに従うことができます。デフォルトのメトリックに合格するまで、最適化、削除、またはものの追加を停止します。とりあえず、私たちのうなり声のタスクで遊んで、合格テストがどのように見えるかを見てみましょう。
PerfBudgetオプションとWebPagetestメトリック
ほとんどのgruntタスクと同様に、パフォーマンスタスクでは、さまざまなオプションをカスタマイズできます。また、WebPageTestで測定された驚くほど詳細なメトリックのため、パフォーマンス予算のあらゆる種類のメトリックをテストして、合格するか失敗したかを確認できます。
最初に、私のオプションを変更して、私のウェブサイトが失敗を停止し、Gruntタスクが予算内にあると報告するようにします。これには、「予算」と呼ばれる私のパフォーマンスタスクに追加のプロパティが必要です。この時点で私のサイトはかなり遅いので、テストに合格するために私の価値が高くなります。
結果?私は通り過ぎました!
<span>perfbudget: { </span> <span>default: { </span> <span>options: { </span> <span>url: 'http://cfarman.com', </span> <span>key: 'APIKEY', </span> <span>budget: { </span> <span>render: '3000', </span> <span>SpeedIndex: '5500' </span> <span>} </span> <span>} </span> <span>} </span><span>}</span>
これは、gruntタスクが失敗しないことを意味し、私のgruntfileに他のタスクがある場合、それらは通常どおり続行します - 成功!
デフォルトのメトリックに加えて、他に何を測定できますか? :
を含むあらゆる種類のもの- 負荷時間:ミリ秒単位の総負荷時間
- リクエスト:要求されたファイルの総数
- bytesin:バイトの合計ページ重量
最後のメトリックは、私が最も一般的に報告し、予算編成の目的で追跡したいものです。そのため、測定方法を見てみましょう。
npm install grunt-perfbudget --save-dev
- 結果としてパフォーマンスを改善するのに役立ちます。 grunt.js
によるパフォーマンステストの自動化に関するよくある質問grunt.jsとは何ですか?パフォーマンステストに重要なのはなぜですか?
grunt.jsは、ミニフィッシュ、編集、単体テスト、糸くずなどの繰り返しタスクを自動化するJavaScriptタスクランナーです。 node.jsに構築され、コマンドラインインターフェイスを使用して、gruntfileとして知られるファイルで定義されたカスタムタスクを実行します。 grunt.jsは、開発者がコードが効率的かつエラーなしで実行されることを保証するタスクを自動化できるため、パフォーマンステストに重要です。これにより、時間を節約し、ヒューマンエラーのリスクを軽減し、より信頼性が高く高品質のソフトウェアにつながります。最初に、システムにnode.jsとnpm(ノードパッケージマネージャー)をインストールする必要があります。これらを取得したら、ターミナルにコマンドnpmインストール-g grunt -cliを実行してgrunt.jsをインストールできます。これにより、システムにGrunt Command Lineインターフェイスがグローバルにインストールされます。その後、Package.jsonファイルで依存関係として定義し、npmインストールを実行することにより、プロジェクトにグラントプラグインとグラントプラグインを追加できます。 > GruntFileは、プロジェクトのルートディレクトリに掲載され、Gruntタスクの構成が含まれるJavaScriptファイルです。 gruntfile.jsまたはgruntfile.coffeeという名前で、javascriptまたはcoffeescriptで書かれています。 gruntfileを作成するには、グラントランタイムのインスタンスとこの関数内で渡されるラッパー関数を定義します。グラントプラグインをロードし、タスクを構成し、カスタムタスクを登録できます。grunt.jsで自動化できるいくつかの一般的なタスクは何ですか?
grunt.jsは、パフォーマンスのテストとコードの最適化に関連する幅広いタスクを自動化できます。これには、JavaScriptおよびCSSファイルのサイズを縮小し、CSSにSASSファイルをコンパイルしてCSSにリントすること、エラーをキャッチしてコーディング標準を実施するためのJavaScriptコードを並べること、コードが予想どおりに機能することを確認するためのユニットテストを実行するためのユニットテストを実行すること、およびファイルの数を減らすために、JavaScriptファイルを模倣することが含まれます。 httpリクエスト。
grunt.jsを使用してパフォーマンステストを自動化するにはどうすればよいですか?
grunt.jsでテストすると、grunt-contrib-uglifyのようなプラグイン、CSSのミニフィッシュのためのgrunt-contrib-cssmin、糸くずのためのgrunt-contrib-jshint、ユニットテストのためのグラントコントリブqunitを使用できます。これらのプラグインをnpm経由でインストールし、grunt.loadnpmtasks()でgruntfileにロードし、grunt.initconfig()メソッドにプロパティを追加して構成します。その後、コマンドラインからタスクをgrunt
他のテストフレームワークでgrunt.jsを使用できますか? Mocha、Jasmine、Qunitなどの人気のあるテストフレームワーク用のグラントプラグインがあります。また、他のフレームワークでテストを実行するためのカスタムタスクを作成することもできます。これにより、grunt.jsはパフォーマンステストを自動化するための汎用性の高いツールになります。パフォーマンステストにgrunt.jsを使用するためのいくつかのベストプラクティスは何ですか?パフォーマンステストにgrunt.jsを使用するためのいくつかのベストプラクティスには、gruntfileを清潔に保ち、複数のファイルに分割して整理することが含まれます。 - タスクを実行するときに詳細な出力を取得するときにフラグを実行し、 - フォースフラグを使用して、失敗してもタスクを実行し続けます。また、最新の機能とバグの修正を取得するために、グラントプラグインを定期的に更新することをお勧めします。
以上がgrunt.jsでパフォーマンステストを自動化しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











JavaScriptは現代のWeb開発の基礎であり、その主な機能には、イベント駆動型のプログラミング、動的コンテンツ生成、非同期プログラミングが含まれます。 1)イベント駆動型プログラミングにより、Webページはユーザー操作に応じて動的に変更できます。 2)動的コンテンツ生成により、条件に応じてページコンテンツを調整できます。 3)非同期プログラミングにより、ユーザーインターフェイスがブロックされないようにします。 JavaScriptは、Webインタラクション、シングルページアプリケーション、サーバー側の開発で広く使用されており、ユーザーエクスペリエンスとクロスプラットフォーム開発の柔軟性を大幅に改善しています。

JavaScriptの最新トレンドには、TypeScriptの台頭、最新のフレームワークとライブラリの人気、WebAssemblyの適用が含まれます。将来の見通しは、より強力なタイプシステム、サーバー側のJavaScriptの開発、人工知能と機械学習の拡大、およびIoTおよびEDGEコンピューティングの可能性をカバーしています。

さまざまなJavaScriptエンジンは、各エンジンの実装原則と最適化戦略が異なるため、JavaScriptコードを解析および実行するときに異なる効果をもたらします。 1。語彙分析:ソースコードを語彙ユニットに変換します。 2。文法分析:抽象的な構文ツリーを生成します。 3。最適化とコンパイル:JITコンパイラを介してマシンコードを生成します。 4。実行:マシンコードを実行します。 V8エンジンはインスタントコンピレーションと非表示クラスを通じて最適化され、Spidermonkeyはタイプ推論システムを使用して、同じコードで異なるパフォーマンスパフォーマンスをもたらします。

JavaScriptは、現代のWeb開発のコア言語であり、その多様性と柔軟性に広く使用されています。 1)フロントエンド開発:DOM操作と最新のフレームワーク(React、Vue.JS、Angularなど)を通じて、動的なWebページとシングルページアプリケーションを構築します。 2)サーバー側の開発:node.jsは、非ブロッキングI/Oモデルを使用して、高い並行性とリアルタイムアプリケーションを処理します。 3)モバイルおよびデスクトップアプリケーション開発:クロスプラットフォーム開発は、反応および電子を通じて実現され、開発効率を向上させます。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

この記事では、許可によって保護されたバックエンドとのフロントエンド統合を示し、next.jsを使用して機能的なedtech SaaSアプリケーションを構築します。 FrontEndはユーザーのアクセス許可を取得してUIの可視性を制御し、APIリクエストがロールベースに付着することを保証します

C/CからJavaScriptへのシフトには、動的なタイピング、ゴミ収集、非同期プログラミングへの適応が必要です。 1)C/Cは、手動メモリ管理を必要とする静的に型付けられた言語であり、JavaScriptは動的に型付けされ、ごみ収集が自動的に処理されます。 2)C/Cはマシンコードにコンパイルする必要がありますが、JavaScriptは解釈言語です。 3)JavaScriptは、閉鎖、プロトタイプチェーン、約束などの概念を導入します。これにより、柔軟性と非同期プログラミング機能が向上します。

JavaScriptは、最新のブラウザにすでに組み込まれているため、インストールを必要としません。開始するには、テキストエディターとブラウザのみが必要です。 1)ブラウザ環境では、タグを介してHTMLファイルを埋め込んで実行します。 2)node.js環境では、node.jsをダウンロードしてインストールした後、コマンドラインを介してJavaScriptファイルを実行します。
