Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 角度8的量角器全页屏幕截图_Typescript_Selenium_Protractor_Automated Tests_Mocha.js - Fatal编程技术网

Typescript 角度8的量角器全页屏幕截图

Typescript 角度8的量角器全页屏幕截图,typescript,selenium,protractor,automated-tests,mocha.js,Typescript,Selenium,Protractor,Automated Tests,Mocha.js,我正试图用量角器和摩卡咖啡拍摄一张有角度的页面截图。我们一直在使用量角器截图utils作为依赖项,并在conf.js文件中使用它来覆盖浏览器.takeScreenshot() 不幸的是,它并没有完全覆盖它,我也无法拍摄一个角度页面的完整页面截图(它完全在非角度页面上工作)。测试得到的屏幕截图是浏览器可以显示的,不包括页面的其余部分,这些部分归结为我的问题 如果你使用chrome浏览器时出现问题,那么有没有其他解决方法可以使用Gradutor+mocha对有角度的页面进行整页截图?这可能是你的导航

我正试图用量角器和摩卡咖啡拍摄一张有角度的页面截图。我们一直在使用
量角器截图utils
作为依赖项,并在conf.js文件中使用它来覆盖
浏览器.takeScreenshot()

不幸的是,它并没有完全覆盖它,我也无法拍摄一个角度页面的完整页面截图(它完全在非角度页面上工作)。测试得到的屏幕截图是浏览器可以显示的,不包括页面的其余部分,这些部分归结为我的问题


如果你使用chrome浏览器时出现问题,那么有没有其他解决方法可以使用Gradutor+mocha对有角度的页面进行整页截图?

这可能是你的导航器。

你可以用黑客来修复它

browser.driver.manage().window().setSize(320, 2000);

我建议您看看这里,它可能会有所帮助:

我之前遇到过类似的问题。我在C#中使用了一种自定义方法来滚动和捕获屏幕截图,然后缝合它们。我知道这可能会很麻烦,但在需要的时候会做。逻辑可以在这些方面起作用-

  • 注意网页的高度和宽度
  • 如果已到达页面底部,则检查条件
  • 你可以截图并保存它
  • 按“高度”值向下滚动
  • 重复步骤2
  • 此外,还有一些第三方库可用于解决此问题


    虽然我没有现成的脚本,但您可以查看这些有用的资源(来自StackOverflow answer),

    它不会覆盖takescreenshot方法,而是创建一个新函数screenShotUtils()你可以打电话anywhere@PDHide这行setAsDefaultScreenshotMethod:true实际上应该根据文档覆盖它。哪个文档,global.function是声明全局函数的一种方式,如take screenshot,浏览器etc@PDHide检查页面底部是否有注释//这将覆盖默认的browser.takeScreenshot()方法以获取完整的页面图像。您使用的是导航器吗?这实际上显示了我们页面的移动web视图。不是一个选项你真的可以强迫它出现在web视图上吗?如描述中所列,我已经在使用量角器屏幕截图UTIL了。不幸的是,它在Angular 8上不起作用。嘿@MielYan-你能确认一下你是否在[1]Chrome最新版本、[2]Chrome较低版本(比如v75)、[3]Firefox上试用过它吗?问题可能是特定于浏览器+Angular 8组合。
    browser.driver.manage().window().setSize(320, 2000);