如何用 Java 在 Selenium 网络驱动中截图?
原文:https://www . geesforgeks . org/如何截图-in-selenium-web driver-use-Java/
Selenium网络驱动 是一个开源应用程序接口的集合,用于自动化网络应用程序的测试。为了在Selenium中捕捉的截图,必须使用截图方法。这就通知 WebDriver 应该 在 Selenium 中取 一张 截图保存。SeleniumWebDriver工具用于自动化 web 应用程序测试,以验证其是否按预期工作。它支持很多浏览器。这里我们将以 chrome 为例。
语法:
File file = ((TakesScreenshot) driver) ;
在这里,我们将学习如何在 selenium web 驱动程序中截图,并使用 Java Binding 突出显示元素。
bug 分析需要截图,尤其是在测试用例失败的情况下。每当一个测试用例失败时,我们需要一些附件来验证这个失败。Selenium 可以在执行过程中自动截图,我们还可以标记一个边框来突出显示该元素。
在 selenium web 驱动程序中截图的步骤:
1。截图保存成文件格式
2。使用 CopyFile 方法将截图复制到某个位置
文件复制文件(文件,新文件(“您想要保存图像的位置”+文件名+)。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);
}
}
输出:
版权属于:月萌API www.moonapi.com,转载请注明出处