WEB自動化(JAVA版)——JAVA+Selenium截圖操作

第一種:Selenium之TakesScreenshot

該方法可以只截取自動化運行的瀏覽器窗口內,不會截取瀏覽器的操作按鈕和系統的任務欄區域。

    public static void screenshotWebPage(WebDriver driver, Integer tagId){
        // 調用截圖方法
        File src= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        try {
            // 拷貝截圖文件到我們項目./Screenshots
        	FileUtils.copyFile(src, new File("/Users/chenxia/Documents/Screenshots/screen-"+tagId+".png"));
        	System.out.println(tagId+"截圖完成!");
        } 
        catch (IOException e)
         {
        	System.out.println(e.getMessage());
         }
    }

第二種:通過Robot截圖

該方法會截取屏幕內的所有內容,包括系統自帶的任務欄以及瀏覽器的導航欄和操作菜單。

    public static void screenshotByRobotFullScreen(Integer tagId){
        BufferedImage image = null;
        try {
            image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
            ImageIO.write(image, "jpg", new File("/Users/chenxia/Documents/Screenshots/screen-"+tagId+".png"));
            System.out.println(tagId+"截圖完成!");
        } catch (AWTException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

可參閱:JAVA+selenium 截圖操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章