如何使用Java在Selenium WebDriver中截屏()

Selenium网络驱动器是开源API的集合, 用于自动测试Web应用程序。为了捕获一种Selenium中的屏幕截图, 一个必须利用方法Takes Screenshot。这通知WebDriver它应该采取一种Selenium中的屏幕截图并存储它。Selenium网络驱动器该工具用于自动执行Web应用程序测试, 以验证其是否按预期工作。它支持许多浏览器。在这里, 我们将以铬为例。
语法如下:

File file = ((TakesScreenshot) driver) ;

【如何使用Java在Selenium WebDriver中截屏()】在这里, 我们将学习如何在Selenium Web驱动程序中截取屏幕截图, 并使用Java Binding突出显示该元素。
屏幕截图是进行错误分析所必需的, 尤其是在测试用例失败的情况下。每当测试用例失败时, 我们都需要一些附件来验证该失败。 Selenium可以在执行期间自动拍摄屏幕截图, 我们还可以标记边框以突出显示该元素。
在Selenium Web驱动程序中截图的步骤:
1.截屏并以文件格式存储
2.使用CopyFile方法将屏幕快照复制到某个位置
FileUtils.copyFile(File, new File(“ 你想要保存图像的位置” + FileName +” 。jpeg” )));
3.在元素周围创建边框:使用JavaScript执行程序, 我们可以在所需元素周围创建边框。
JavascriptExecutor js = (JavascriptExecutor) driver; js.executeScript("arguments[0].style.border = '3px solid red'", Element);

有关实现部分, 请参见下面的完整代码
Java
//Java program how to take //a screenshot in Selenium //WebDriverimport java.io.*; class GFG { public static void main(String[] args) { //Setting webDriver to chrome System.setProperty( "webdriver.chrome.driver" , "driver path" ); driver = new ChromeDriver(); driver.get( "https://www.google.co.in" ); WebElement Element = driver.findElement( By.xpath( "//input[@name='q']" )); //Assisgnments to webDriver MakeBorder(Element); Thread.sleep( 2000 ); TakeScreenshot( "GooglePage" ); driver.quit(); }//Function to Take screenshot public static void TakeScreenshot(String FileName) throws IOException { //Creating instance of File File File = ((TakesScreenshot)driver) .getScreenshotAs(OutputType.FILE); FileUtils.copyFile(File, new File( "image location" + FileName + ".jpeg" )); }//Function to Make border public static void MakeBorder(WebElement Element) {JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript( "arguments[0].style.border = '3px solid red'" , Element); } }

输出如下:
如何使用Java在Selenium WebDriver中截屏()

文章图片

    推荐阅读