Hiper 介绍
Hiper
可以看成? Hi ? per formance的缩写?或者? Hi gh? per formance的缩写
注意事项
请使用英语提issue安装
npm install hiper -g
# 或者使用 yarn:
# yarn global add hiper
输出
注意:?It takes period (m)s to load .... 这个?period?是 运行本次测试所用时间 . 因此,-n 越大,这个数越大
性能 指标
Key
Value
DNS 查询 耗时
domainLookupEnd - domainLookupStart
TCP连接耗时
connectEnd - connectStart
第 一个 Byte到达浏览器的用时
responseStart - requestStart
页面 下载耗时
responseEnd - responseStart
DOM Ready之后又继续下载资源的耗时
domComplete - domIn tera ctive
白屏时间
domIn tera ctive - navigationStart
DOM Ready 耗时
domContentLoadedEventEnd - navigationStart
页面 加载总耗时
loadEventEnd - navigationStart
使用
hiper --help
Usage: hiper [options] [url]
令人愉悦的 性能 统计 分析工具
Options:
-v,--version 输出 版本号
-n,--count <n> 指定加载 次数 ( 默 认20次)
-c,--con fig <path> 载入指定的 配置文件
-u,--useragent <ua> 设置useragent
-H,--headless 是否使用无头模式( 默 认为true)
-e,--executablePath <path> 使用指定的Chrome浏览器
--no-cache 禁用缓存( 默 认为false)
--no-JavaScript 禁用JavaScript ( 默 认为false)
--no-online 禁用网络( 默 认为false)
-h,--help 输出 帮助信息
用例
# 当我们省略协议头时, 默 认会在url前 添加 `https://`
# 最简单的 用法
hiper baidu.com
# 如何url中含有任何参数,请使用双引号括起来
hiper "baidu.com?a=1&b=2"
# 加载 指定页面 100次
hiper -n 100 "baidu.com?a=1&b=2"
# 禁用缓存加载 指定页面 100次
hiper -n 100 "baidu.com?a=1&b=2" --no-cache
# 禁JavaScript加载 指定页面 100次
hiper -n 100 "baidu.com?a=1&b=2" --no-JavaScript
# 使用GUI形式加载 指定页面 100次
hiper -n 100 "baidu.com?a=1&b=2" -H false
# 使用指定useragent加载网页100次
hiper -n 100 "baidu.com?a=1&b=2" -u "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (Khtml,like Gecko) Chrome/66.0.3359.181 Safari/537.36"
配置
支持 ?.json?和?.js?格式的 配置文件
[b]json
{
// options 指向Chrome可执行程序,一般不需要配置此项,除非你想测试某个特定版本的Chrome
"executablePath": "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome",
// required 要测试的url
"url": "https://example.com",
// options 本次测试需要用到的Cookies,通常是 登录 信息(即你测试的 页面 需要 登录 ) Array | Object
"cookies": [{
"name": "token",
"value": "9+cL224Xh6VuRT",
"domain": "example.com",
"path": "/",
"size": 294,
"httpOnly": true
}],
// options 测试 次数 默 认为20次
"count": 100,
// options 是否使用无头模式 默 认为true
"headless": true,
// options 是否禁用缓存 默 认为false
"noCache": false,
// options 是否禁掉JavaScript 默 认为false
"noJavaScript": false,
// options 是否禁掉网络 默 认为false
"noOnline": false,
// options 设置指定的useragent信息
"useragent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (Khtml,like Gecko) Chrome/66.0.3359.181 Safari/537.36",
// options 设置视口信息
"viewport": {
// options
"width": 375,
// options
"height": 812,
// options devicePixelRatio 默 认为1
"deviceScaleFactor": 3,
// options 是否模拟成mobile 默 认为false
"isMobile": false,
// options 是否 支持 touch时间 默 认为false
"hasTouch": false,
// options 是否是横屏模式 默 认为false
"isLandscape": false
}
}
js
配置的js 文件 允许人们使用ENV变量。例如,假设你想在经过身份验证的状态下测试 站点 。你可以通过ENV变量传递一些用于标识你的cookie,有 一个 基于js的 配置文件 使这变得很简单。例如
module.exports = {
....
cookies: [{
name: 'token',
value: process.env.authtoken,
domain: 'example.com',
path: '/',
httpOnly: true
}],
....
}
# 载入上述 配置文件 (假设 配置文件 在/home/下)
hiper -c /home/con fig .json
# 或者你也可以使用js 文件 作为 配置文件
hiper -c /home/con fig .js
GitHub: https://github.com/pod4g/hiper
网站描述: 一个 性能 统计 分析工具,可让你网页 性能 提升 10 倍
Hiper官方网站
官方网站:
如果觉得 网站内容还不错,欢迎将 网站 推荐给程序员好友。