我发现jsperf中的大量测试用例可以在很多浏览器中运行并在browserscope中显示结果。
但是当我设置测试时,测试只能在我自己的浏览器中运行。
如何在所有版本的浏览器中运行我的测试用例?
答案 0 :(得分:3)
jsPerf不会自动在所有浏览器中运行测试。你应该在你关心的所有浏览器中运行测试。这将填充Browserscope结果表。
答案 1 :(得分:2)
如果您在测试的一部分中使用某些浏览器不支持的内容,则JSPerf会在失败时继续进行下一次测试(如果有的话)。 但是,如果你有一些在任何测试开始运行之前执行的setup-function并且你使用浏览器(-version)特定的方法,那么很明显没有测试会在其他浏览器上运行。要解决这个问题,你需要一些其他的设置功能(使用垫片/填充等)。
据我所知,你不能设置一个jsPerf测试用例来只测试一个特定的浏览器,但你可以定义一个特定的Browserscope结果过滤器:
来自jsPerf FAQ - Result filters:
链接到测试用例时,我可以预定义特定的Browserscope结果过滤器吗?
是。例如,如果您只想默认显示移动浏览器的结果,则可以将#filterBy=mobile
附加到测试用例的URL。其他结果过滤器为popular
(默认值),all
,desktop
,major
,minor
和prerelease
。
Browserscope结果与我得到的结果不同。为什么? Browserscope返回每个测试的最高已知结果。由于每个测试都有误差范围,我们将结果减去边距或误差(置信区间的下限,即最低可疑值)提交给Browserscope。
此外,当使用一批浏览器进行测试时,可以无人看管:
我不喜欢点击按钮。我可以在打开页面后自动运行测试吗?
当然,只需将#run
附加到测试用例的URL,例如
http://jsperf.com/document-getelementbyid#run。