个性化阅读
专注于IT技术分析

如何使用Java在Selenium WebDriver中截屏?

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

语法如下:

File file = ((TakesScreenshot) driver) ;

在这里, 我们将学习如何在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
//WebDriver
  
import 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中截屏?1

赞(0) 打赏
未经允许不得转载:srcmini » 如何使用Java在Selenium WebDriver中截屏?
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏