3

我发现 jsperf 中的很多测试用例可以在很多浏览器中运行并在 browserscope 中显示结果。

但是当我设置测试时,测试只能在我自己的浏览器版本中运行。

如何在所有版本的浏览器中运行我的测试用例?

4

2 回答 2

3

jsPerf 不会自动为您在所有浏览器中运行测试。您应该在您关心的所有浏览器中运行测试。这将填充 Browserscope 结果表。

于 2013-12-22T20:44:14.690 回答
2

如果你在测试的一部分中使用了浏览器不支持的东西,那么 JSPerf 将在失败时继续下一个测试(应该有一个)。
但是,如果您在任何测试开始运行之前执行了一些设置功能并且您使用浏览器(-version)特定方法,那么显然不会在其他浏览器上运行任何测试。要解决这个问题,您需要一些其他设置功能(使用 shim/polyfill 等)

据我所知,您不能将 jsPerf 测试用例设置为仅测试一个特定的浏览器,但您可以定义一个特定的 Browserscope 结果过滤器:

来自jsPerf FAQ - 结果过滤器

我可以在链接到测试用例时预定义特定的 Browserscope 结果过滤器吗?
是的。例如,如果您想默认只显示移动浏览器的结果,您可以附加#filterBy=mobile到测试用例的 URL。其他结果过滤器是popular(默认)、alldesktopmajorminorprerelease

来自jsPerf FAQ - Browserscope

Browserscope 结果看起来与我得到的不同。为什么? Browserscope 为每个测试返回已知的最高结果。因为每个测试都有误差范围,所以我们将结果减去误差范围或误差(置信区间的下限,即最低怀疑值)提交给 Browserscope。

此外,当使用一批浏览器进行测试时,可以无人看管:

来自jsPerf 常见问题 - 自动运行

我不喜欢点击按钮。打开页面后我可以让测试自动运行吗?
当然,只需附加#run到测试用例的 URL,例如
http://jsperf.com/document-getelementbyid#run

于 2013-12-22T06:11:23.563 回答