作为E2E测试套件的一部分,我已经构建了一个自动化视觉回归的工具,虽然它在大多数情况下都能正常工作但我在尝试使用自动播放HTML5视频来测量视觉回归时遇到了问题。
由于视频是屏幕截图的移动目标,而且Browserstack会话始终依赖于Browserstack的服务器速度,因此很少会出现屏幕加载后截屏的情况。作为视觉回归测试的可靠来源。在构建过程中,大多数时候会有90%的视觉差异。
一种解决方案是将我的视觉回归工具指向?video = off或者?test = true url但我还想探索在BrowserStack中的活动浏览器会话上执行javascript以使用HTML5视频停止和将视频的帧设置为固定点,以作为更可靠的视觉回归源。
在browserstack-webdriver中是否存在与camme's version webdriverjs的执行函数类似的东西,因为这可能会出现一些特定JS可能需要执行以充分利用可视化回归测试的场景
答案 0 :(得分:0)
我通过查看节点模块的源代码找到了解决方案,因此对于任何查看相同问题的人都可以使用以下代码执行:
driver.executeScript('alert("foo")');
对于任何有类似视频和视觉回归问题的人,我决定在URL中使用查询字符串作为一种更可靠的方式来影响网站的那些移动部分,因为在executeScript函数中执行JS不仅感觉很脏但是还介绍了它自己的跨浏览器特定问题,这增加了大型团队的复杂性。