IndexedDB 性能测试¶
如何在 CI 上运行测试?¶
Windows:
mach try perf --show-all -q "test-windows10-64-shippable-qr/opt-browsertime-indexeddb"
Linux:
mach try perf --show-all -q "test-linux1804-64-shippable-qr/opt-browsertime-indexeddb"
Mac:
mach try perf --show-all -q "test-macosx1015-64-shippable-qr/opt-browsertime-indexeddb"
除 32 位作业外的所有作业:
mach try perf --chrome --safari --show-all -q 'shippable-browsertime-indexeddb !32'
一般来说
使用
mach try perf --show-all
打开测试选择界面通过键入预期作为测试作业名称字符串一部分的字母(如上 -q 参数中所示)来过滤出首选测试
记下用作过滤器以重新运行作业的字符串(或使用
mach try again --list-tasks
和mach try again --index
重新运行它)
如何在本地使用分析器运行测试?¶
使用发布或带有调试符号的发布标志构建浏览器(不要在调试模式下构建)
使用
mach raptor --browsertime -t $(test_name) --gecko-profile --post-startup-delay=1000
,其中测试名称(例如addMarN
)是testing/raptor/raptor/tests/custom/browsertime-indexeddb.ini
中列出的项目之一测试完成后,生成的配置文件将使用默认浏览器打开。
生成的配置文件路径也列在命令行输出中。
为了获得最佳符号化结果,可能有助于
使用
./mach run
运行用于测试的相同浏览器构建导航到“profiler.firefox.com”
使用“从文件加载配置文件”按钮
如何将性能与其他浏览器进行比较?¶
测试为所有支持的浏览器输出一个
time_duration
值以 Chrome 为例,
mach raptor --browsertime -t $(test_name) --post-startup-delay=1000 --app=chrome -b "/c/Program Files/Google/Chrome/Application/chrome.exe"
其中测试名称(例如
addMarN
)是testing/raptor/raptor/tests/custom/browsertime-indexeddb.ini
中列出的项目之一浏览器可执行文件路径在
-b
参数之后在本地有所不同在某些情况下,可能需要测试驱动程序参数,例如
--browsertime-chromedriver
如何添加更多测试?¶
对于测试样板,复制并重命名一个旧的测试脚本,例如
testing/raptor/browsertime/indexeddb_write.js
,将其放在testing/raptor/browsertime/
目录下修改
commands.js.run
/ Selenium 的executeAsyncScript
的测试用例脚本参数可以使用语法
${variable_name}
将测试参数传递给此脚本,其中variable_name
表示executeAsyncScript
或commands.js.run
上下文中的参数。使用引号捕获字符串值,例如
"${variable_name}"
提示:在没有样板的情况下在本地提供服务,可以更简单地调试测试用例
在文件
testing/raptor/raptor/tests/custom/browsertime-indexeddb.ini
中添加[test_name]
部分,其中test_name
**必须为 10 个字符或更少**,才能成为有效的Treeherder
测试名称在
[test_name]
部分下,将测试脚本名称指定为test_script =
的值在
[test_name]
部分下,将测试参数指定为--browsertime.key=value
参数的序列,作为browsertime_args =
的值在
[test_name]
部分下,根据需要覆盖任何其他值
将测试添加为要为桌面运行的子测试
taskcluster/kinds/test/browsertime-desktop.yml
(可能也适用于移动设备)将测试文档添加到
testing/raptor/raptor/perfdocs/config.yml
生成的文件
运行
./mach lint --warnings --outgoing --fix
以重新生成文档和任务文件,并警告遗漏可能还需要运行
./mach lint -l perfdocs --fix .
测试
使用分析器测试新测试
使用不同的浏览器测试新测试
通过在 CI 上触发它来测试新测试