如何在jsperf中指定测试浏览器?

时间:2013-12-22 06:06:22

标签: javascript browser performance-testing jsperf

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

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

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

如果您在测试的一部分中使用某些浏览器不支持的内容,则JSPerf会在失败时继续进行下一次测试(如果有的话)。 但是,如果你有一些在任何测试开始运行之前执行的setup-function并且你使用浏览器(-version)特定的方法,那么很明显没有测试会在其他浏览器上运行。要解决这个问题,你需要一些其他的设置功能(使用垫片/填充等)。

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

来自jsPerf FAQ - Result filters

  

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

来自jsPerf FAQ - Browserscope

  

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

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

来自jsPerf FAQ - autorun

  

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