-1

我试图学习在 selenium 中捕获屏幕截图。开始了解 aShot() 和 Shutterbug 类,它们是 webdriver 的第三方 Api。

主要区别是什么,哪些有优势

提前致谢

4

2 回答 2

1

失控

ashot是一个WebDriver 实用程序,用于截取、裁剪、美化、比较。它可用于以下目的:

  • 在不同平台(即桌面浏览器、iOS Simulator Mobile Safari、Android Emulator Browser)上截取 WebElement 的屏幕截图
  • 装饰截图。
  • 提供灵活的屏幕截图比较。

Maven依赖:

<dependency>
    <groupId>ru.yandex.qatools.ashot</groupId>
    <artifactId>ashot</artifactId>
    <version>1.5.2</version>
</dependency>

您可以在以下位置找到一些详细的相关讨论:


硒快门

selenium-shutterbug是一个用 Java 编写的实用程序库,用于使用Selenium WebDriver 制作屏幕截图,并在Java AWT的帮助下进一步自定义、比较和处理它们。

Maven依赖:

<dependency>
    <groupId>com.assertthat</groupId>
    <artifactId>selenium-shutterbug</artifactId>
    <version>x.x</version>
    <exclusions>
    <exclusion>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
    </exclusion>
     </exclusions>
</dependency>

使用 Gradle:

compile ('com.assertthat:selenium-shutterbug:x.x') {
    exclude group: "org.seleniumhq.selenium", name: "selenium-java"
    }

使用 SBT:

"com.assertthat" % "selenium-shutterbug" % "x.x" exclude("org.seleniumhq.selenium", "selenium-java"),

您可以在以下位置找到一些相关的讨论:


区别

它们之间最大的区别是,仅在网页支持时才有效。


参考

如何使用 Selenium WebDriver 截屏

于 2020-03-16T16:16:16.023 回答
1

Ashot() 源码

Ashot() 是 Selenium WebDriver 支持的第三方实用程序,用于捕获屏幕截图。以下是 aShot() 实用程序支持的屏幕截图功能:

Capturing the entire page
Capture the Web Element
Prettifying the screenshot
Screenshot comparison
Several elements comparison

我们这里的重点是捕获整个页面并捕获 Web 元素屏幕截图。

Shutterstock 来源不确定它是否是在 selenium 中捕获屏幕截图的工具

Shutterstock 是一家美国的库存摄影、库存镜头、库存音乐和编辑工具提供商;

如果你想执行一些其他的事情,比如上面提到的Capturing the entire page,等等。Screenshot comparison需要一些第三方库。aShot是其中之一。

除此之外,我们可以使用 Selenium 中的 TakesScreenshot 界面仅捕获可见部分的屏幕截图。

于 2020-03-16T11:58:52.290 回答