使用Nightwatch从Browserstack捕获全高屏幕截图

时间:2016-12-09 06:32:19

标签: node.js selenium nightwatch.js browserstack

我想使用Browserstack从Nightwatch测试中捕获全高截图 - 我可以捕获可见屏幕,但不能捕获整个文档。

我试过这个:

itemN

但是当得到的图像具有正确的宽度时,高度被限制为(我认为)在Browserstack中打开的浏览器的分辨率。

有可能实现这个目标吗?

2 个答案:

答案 0 :(得分:0)

我认为这是浏览器本身的限制。例如,在通过Selenium对Chrome 29+进行测试时,您将只能捕获所显示网页的可见区域。

您是否可以在计算机本地的同一浏览器上运行测试时捕获整页屏幕截图?如果是,那么您需要使用BrowserStack进行检查。如果它在本地工作,那么它应该在BrowserStack上工作。

答案 1 :(得分:0)

我通过做两件事来解决这个问题:

  1. 为我的 nightwatch.json 添加高分辨率值:
  2. 
        "yourPlatformName": {
            "desiredCapabilities": {
                "resolution": "1200x3000"
                //...
            }
        }
    
    
    1. 在进行捕获之前,在代码中激活(取消注释) browser.resizeWindow()以调整当前窗口的大小:
    2. 
           browser.execute(function () {
                  // get document dimensions
              }, [], function (result) {
                  // browser.resizeWindow(to value sent as result)
                 browser.resizeWindow(1200, 3000);
                 browser.saveScreenshot('filename.png');
          });
      
      

      对我来说,尺寸1200x3000足以捕获整个文档。尝试增加这些值和测试以满足您的需求。