BrowserStack-使用Node.JS执行客户端JS
BrowserStack - Execute client JS with Node.js
作为E2E测试套件的一部分,我已经构建了一个自动化视觉回归的工具,虽然它在大多数情况下都很好,但我在尝试使用自动播放的HTML5视频测量视觉回归时遇到了问题。
由于视频是屏幕截图的移动目标,并且浏览器堆栈会话始终依赖于浏览器堆栈的服务器速度,因此很少会出现在加载屏幕后拍摄的屏幕截图足够接近以作为视觉回归测试的可靠来源的情况。在构建过程中,大多数时候都会有90%的视觉差异。
一个解决方案是将我的视觉回归工具指向?视频=关闭还是?test=true url,但我也想探索在BrowserStack中的活动浏览器会话上执行javascript,以使用HTML5视频停止并将视频的帧设置为固定点,从而作为更可靠的视觉回归源。
在browserstack webdriver中,有没有类似于camme版本的webdriverjs的执行功能,因为这感觉可能有一些场景需要执行特定的JS来充分利用视觉回归测试。
我已经找到了一个解决方案,通过查看节点模块的源代码,因此对于任何看到相同问题的人,您都可以使用以下命令执行:
driver.executeScript('alert("foo")');
对于任何在视频和视觉回归方面有类似问题的人,我决定在URL中使用查询字符串,作为一种更可靠的方式来影响网站的移动部分,因为在executeScript函数中执行JS不仅感觉不干净,而且还引入了它自己的跨浏览器特定问题,这增加了大型团队的复杂性。
相关文章:
- 如何从Node.js执行.exe文件
- 在外部JS执行后加载JavaScript
- JS:执行'失败;getComputedStyle'在'窗口':参数的类型不是'
- 使用 Node.js 执行命令行二进制文件
- 获取js执行环境的版本描述
- 使用director.js执行基于哈希的函数
- 打开文件时停止了JS执行
- 为什么我不能在 Angular JS 服务中更改数据.js执行函数后
- 同步 JavaScript 调用节点 js- 执行 GET in for 循环
- 使用 Node.js 执行 EXE 文件
- 从其他 JS 执行一个函数
- 从 PHP 读取变量并使用 js 执行选择查询
- 使用 IE 开发人员工具防止 JS 执行
- 如何在使用sails JS执行res.view()函数调用之前调用另一个服务(函数)
- d3.js执行中跳过d3.extent()
- Chrome扩展..从JS执行CSS
- 通过html按钮使用node.js执行本地文件
- 使用Node.js执行简单Unix终端命令
- 在不更改鼠标位置的情况下从JS执行mouseover()
- Node.js:执行多个异步操作的最佳方式,然后执行其他操作