钥匙要点
- > grunt.js任务跑步者可用于在网络开发过程中自动化性能测试,确保在不将繁重的手动测试添加到QA流程的情况下满足性能目标或“预算”。 >
- > Grunt Perfbudget插件利用WebPagetest.org API来测量网站,以针对页面重量,图像大小,脚本重量和渲染时间等指标进行测量。开发人员可以为这些指标设置明确的预算,然后插件将对网站进行测量。 grunt.js对于性能测试至关重要,因为它可以自动执行确保代码有效运行且无错误的任务,节省时间并减少人为错误的风险。这会导致更可靠和更高质量的软件。
- > 在这个2 MB网页的年龄中,绩效预算已成为我们网络开发过程的必要部分。与您项目的利益相关者合作,已成为每个人的责任 - 设计师和开发人员都可以为您的网站绩效设定目标。
>您可能会为许多不同的指标设置预算:例如,目标页面重量为500千元,项目中的单个页面无法超过。将需要在页面上添加到超过500kb的页面上的元素,以确定其包含在设计中的其他元素。正如蒂姆·卡德克(Tim Kadlec)所描述的那样,您的决定必须采取3条途径之一:
优化页面上的现有功能或资产
>从页面上删除现有功能或资产- 不要添加新功能或资产
- >您还可以根据WebPagetest.org。 设定预算后,这是一项整个额外任务,只是为了在整个开发阶段衡量您的网站的性能。您如何在不添加质量质量检查过程中繁重的手动测试的情况下实现这一目标?输入grunt.js!
- grunt.js webpagetest.org =自动化性能测试Bliss
>虽然有许多GRUNT插件可以帮助您衡量网站性能,但我专注于我发现的最准确的插件:Grunt Perfbudget。这项出色的GRUNT任务使用WebPagetest.org API来测量您的网站,以相对大量有用的指标,例如页面重量,图像大小,脚本重量和渲染时间。您还可以为这些指标设置明确的预算,然后插件将对您的网站进行测量!
>获取API键
>在设置Grunt任务之前,您需要向WebPagetest.org发送电子邮件,以获取API密钥以包含在Gruntfile中。 (好消息:工作中有一个替代方法!)
>安装grunt perfbudget插件
如果这是您第一次使用咕unt声,请查看我的教程,以与grunt grunt一起运行。
>如果您已经在计算机上安装了GRUNT,则只需要在我们设置性能测试之前安装Perfbudget插件即可。通过命令行导航到您的项目文件夹:
npm install grunt-perfbudget --save-dev
,或者如果您想使用一个示例项目,请分叉我的GitHub存储库,Grunt-perfbudget-demo并运行NPM安装以进行。
配置perfbudget任务
安装插件后,您需要设置插件选项并在gruntfile.js中创建一个任务。我创建了一个Demo Gruntfile,它作为默认grunt命令的一部分运行PerfBudget任务,只需最少的选项即可开始 - 用于测试的URL和您的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>>使用API键集运行默认的grunt任务时,我在控制台中获得以下输出:
>!
>为了使我的网站通过并不会导致怪异的任务失败(因此停止在自动化构建环境中构建任何网站),我有两个选择:我可以编辑预算直到通过(用于测试,不太适合性能!),或者我可以遵循我的绩效预算规则:优化,删除东西或停止添加内容,直到通过默认指标为止。目前,让我们玩弄我们的艰苦任务,看看传球测试的外观。>
> perfbudget选项和WebPagetest Metrics>像大多数笨拙的任务一样,Perfbudget任务使我可以自定义一系列选项。而且,由于WebPagetest衡量了惊人的详细指标,我可以测试我的性能预算的各种指标,以查看我是否通过还是失败。
>
首先,我要更改我的选项,以便我的网站停止失败,而咕unt的任务报告我在预算之下。这需要我的perfbudget任务中的额外属性,称为“预算”:目前我的网站非常慢,因此我的值很高以通过测试。
<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中有其他任务,它们将正常进行 - 成功!>
除默认指标外,我们还能测量什么?各种各样的东西,包括:
- loadTime:毫秒 的总加载时间
- >请求:请求的文件总数 >
- bytesin:字节中的总页面
最后一个指标是我最常见的报告,并且想跟踪预算目的,所以让我们看一下如何衡量它:
npm install grunt-perfbudget --save-dev
>我选择了总体预算为200万,因为此时的平均页面徘徊在2兆字节近于2兆字节左右。一旦编辑预算选项,我可以通过再次运行GRUNT任务来了解我的操作:
>
我的网站以3兆字节的价格计算,超出了预算!看起来我有一些工作要做。但是,作为开发人员,拥有此信息对我来说非常有用。没有其他Grunt插件以这种轻巧,易于测试的方式提供有关总页面重量的信息。测量这些重要的指标使我可以看到开发决策的真正影响,因为我正在编码> - 因此,我可以提高性能。
经常询问有关使用grunt.js自动化性能测试的问题
什么是grunt.js,为什么对于性能测试很重要?>首先需要在系统上安装NODE.JS和NPM(Node Package Manager)。一旦拥有这些,您可以通过在终端中运行命令NPM install -G grunt -cli来安装grunt.js。这将在系统上全球安装Grunt命令行界面。之后,您可以通过将其定义为package.json文件中的依赖项并运行npm install。 > gruntfile是一个JavaScript文件,它在您项目的根目录中包含,并包含用于Grunt任务的配置。它名为gruntfile.js或gruntfile.coffee,用javascript或coffeescript编写。要创建一个GruntFile,您定义了一个包装函数,该功能通过了grunt运行时的实例,并且可以加载grunt插件,配置任务和注册自定义任务。>使用Grunt.js?
grunt.js可以自动执行哪些常见任务可以自动化与性能测试和代码优化有关的广泛任务。其中包括缩小JavaScript和CSS文件以减小其尺寸,更少的编译和SASS文件,并将sass文件缩小到CSS中,覆盖JavaScript代码以捕获错误和执行编码标准,运行单元测试以确保代码按预期工作,并使文件降低文件的数量,以减少文件的数量http请求。>如何使用grunt.js自动化性能测试?使用Grunt.js自动化性能测试,您可以使用grunt-contrib-uglify等插件进行缩小,用于CSS缩小的Grunt-Contrib-Cssmin,Grunt-Contrib-Jshint进行覆盖,以及用于单位测试的Grunt-Contrib-Qunit。您可以通过NPM安装这些插件,使用Grunt.loadnpmtasks()将它们加载到Gruntfile中,然后通过将属性添加到Grunt.initConfig()方法来配置它们。然后,您可以使用grunt 您可以通过将选项传递给GRUNT来自定义GRUNT任务的行为.initconfig()方法中的方法。每个任务都有一组控制其行为的选项,可以在任务的配置对象中指定这些选项。例如,uglify任务具有Mangle,压缩和美化该控制JavaScript代码如何缩小的选项。
>> package.json文件在grunt project中的作用是什么? > grunt项目中的package.json文件用于管理项目的依赖项。它列出了该项目需要运行的Grunt插件和其他NPM软件包。运行NPM安装后,NPM查看package.json文件并安装列出的软件包。这使得管理和共享您项目的依赖关系变得容易。
>我可以将grunt.js与其他测试框架一起使用?
>是的,Grunt.js与广泛的测试框架兼容。有用于流行的测试框架(例如摩卡咖啡,茉莉花和Qunit)的Grunt插件,您还可以编写自定义任务以使用其他框架运行测试。这使得grunt.js成为自动化性能测试的多功能工具。>
使用Grunt.js进行性能测试有哪些最佳实践? - 在运行任务时,verbose标志以获取详细的输出,并使用-force标志继续运行任务,即使失败。定期更新您的Grunt插件以获取最新功能和错误修复也是一个好主意。
>以上是与Grunt.js自动化性能测试的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript核心数据类型在浏览器和Node.js中一致,但处理方式和额外类型有所不同。1)全局对象在浏览器中为window,在Node.js中为global。2)Node.js独有Buffer对象,用于处理二进制数据。3)性能和时间处理在两者间也有差异,需根据环境调整代码。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要区别在于类型系统和应用场景。1.Python使用动态类型,适合科学计算和数据分析。2.JavaScript采用弱类型,广泛用于前端和全栈开发。两者在异步编程和性能优化上各有优势,选择时应根据项目需求决定。

选择Python还是JavaScript取决于项目类型:1)数据科学和自动化任务选择Python;2)前端和全栈开发选择JavaScript。Python因其在数据处理和自动化方面的强大库而备受青睐,而JavaScript则因其在网页交互和全栈开发中的优势而不可或缺。

Python和JavaScript各有优势,选择取决于项目需求和个人偏好。1.Python易学,语法简洁,适用于数据科学和后端开发,但执行速度较慢。2.JavaScript在前端开发中无处不在,异步编程能力强,Node.js使其适用于全栈开发,但语法可能复杂且易出错。

javascriptisnotbuiltoncorc; saninterpretedlanguagethatrunsonenginesoftenwritteninc.1)javascriptwasdesignedAsalightweight,解释edganguageforwebbrowsers.2)Enginesevolvedfromsimpleterterterpretpreterterterpretertestojitcompilerers,典型地提示。

JavaScript可用于前端和后端开发。前端通过DOM操作增强用户体验,后端通过Node.js处理服务器任务。1.前端示例:改变网页文本内容。2.后端示例:创建Node.js服务器。

选择Python还是JavaScript应基于职业发展、学习曲线和生态系统:1)职业发展:Python适合数据科学和后端开发,JavaScript适合前端和全栈开发。2)学习曲线:Python语法简洁,适合初学者;JavaScript语法灵活。3)生态系统:Python有丰富的科学计算库,JavaScript有强大的前端框架。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SublimeText3汉化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript开发工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver Mac版
视觉化网页开发工具