zoukankan      html  css  js  c++  java
  • selenium+java,实现部分截图功能,针对单个元素的截图

    有时候需要元素的截图,不需要整个截图。整理一个针对元素的截图的方法。

    创建一个Java类,实现截取元素的方法

    package com.lozz.utils;
    
    import java.awt.Rectangle;
    import java.awt.image.BufferedImage;
    import java.io.File;
    
    import javax.imageio.ImageIO;
    
    import org.openqa.selenium.OutputType;
    import org.openqa.selenium.Point;
    import org.openqa.selenium.TakesScreenshot;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.internal.WrapsDriver;
    
    /**
     * @Title: CreateElementScreenshot.java
     * @Package com.lozz.utils
     * @Description: TODO(使用WebDriver对特定的WebElement截图)
     * @date 2017年7月28日 下午4:20:46
     * @version V1.0
     */
    public class CreateElementScreenshot {
    
        public static File captureElement(WebElement element) throws Exception {
            // TODO Auto-generated method stub
            WrapsDriver wrapsDriver = (WrapsDriver) element;
            // 截图整个页面
            File screen = ((TakesScreenshot) wrapsDriver.getWrappedDriver()).getScreenshotAs(OutputType.FILE);
            BufferedImage img = ImageIO.read(screen);
            // 获得元素的高度和宽度
            int width = element.getSize().getWidth();
            int height = element.getSize().getHeight();
            // 创建一个矩形使用上面的高度,和宽度
            Rectangle rect = new Rectangle(width, height);
            // 得到元素的坐标
            Point p = element.getLocation();
            BufferedImage dest = img.getSubimage(p.getX(), p.getY(), rect.width, rect.height);
            // 存为png格式
            ImageIO.write(dest, "png", screen);
            return screen;
        }
    
    }
    View Code

    在方法中调用此方法实现截取元素的功能

    获取到的截图:

     可以把相关的截图放置在测试报告中:

    (我这使用的是testNG+extentreports生成的报告,具体的extentReports使用方法,使用的第一种方法,可以参照这里

     https://www.cnblogs.com/lozz/p/7251315.html

    转载注明来源

  • 相关阅读:
    CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
    CodeForces 710A King Moves(水题-越界问题)
    CodeForces 701C They Are Everywhere (滑动窗口)
    CodeForces 701B Cells Not Under Attack
    [补档]happiness
    [补档]王者之剑
    [补档]士兵占领
    [补档]搭配飞行员
    [补档]暑假集训D6总结
    [补档][Lydsy2017年4月月赛]抵制克苏恩
  • 原文地址:https://www.cnblogs.com/lozz/p/7251315.html
Copyright © 2011-2022 走看看