截图方法

  1. public static void snapshot(TakesScreenshot drivername, String filename)
  2. {
  3. // this method will take screen shot ,require two parameters ,one is driver name, another is file name
  4.  
  5. String currentPath = System.getProperty("user.dir"); //get current work folder
  6. System.out.println(currentPath);
  7. File scrFile = drivername.getScreenshotAs(OutputType.FILE);
  8. // Now you can do whatever you need to do with it, for example copy somewhere
  9. try {
  10. System.out.println("save snapshot path is:"+currentPath+"/"+filename);
  11. FileUtils.copyFile(scrFile, new File(currentPath+"\\"+filename));
  12. } catch (IOException e) {
  13. // TODO Auto-generated catch block
  14. System.out.println("Can't save screenshot");
  15. e.printStackTrace();
  16. }
  17. finally
  18. {
  19.  
  20. System.out.println("screen shot finished");
  21. }
  22. }

1.使用selenium打开百度,截图;

2.输入selenium关键字

3.搜索,截图

具体代码如下:

  1. import java.io.File;
  2. import java.io.IOException;
  3.  
  4. import org.apache.commons.io.FileUtils;
  5. import org.openqa.selenium.By;
  6. import org.openqa.selenium.OutputType;
  7. import org.openqa.selenium.TakesScreenshot;
  8. import org.openqa.selenium.WebDriver;
  9. import org.openqa.selenium.WebElement;
  10. import org.openqa.selenium.firefox.FirefoxDriver;
  11. import org.testng.annotations.AfterClass;
  12. import org.testng.annotations.BeforeClass;
  13. import org.testng.annotations.Test;
  14.  
  15. public class TestSaveScreen {
  16.  
  17. private WebDriver driver;
  18. @BeforeClass
  19. public void beforeClass() {
  20. driver = new FirefoxDriver();
  21. driver.get("https://www.baidu.com/");
  22. snapshot((TakesScreenshot)driver,"open_baidu.png");
  23. }
  24. @Test
  25. public void test() {
  26. WebElement searchInput= driver.findElement(By.id("kw"));
  27. searchInput.sendKeys("selenium"); WebElement searchButton= driver.findElement(By.id("su"));
  28. searchButton.click();
  29. snapshot((TakesScreenshot)driver,"search_output.png");
  30. }
  31.  
  32. @AfterClass
  33. public void afterClass() {
  34. driver.quit();
  35. }
  36.  
  37. public static void snapshot(TakesScreenshot drivername, String filename)
  38. {
  39. // this method will take screen shot ,require two parameters ,one is driver name, another is file name
  40.  
  41. String currentPath = System.getProperty("user.dir"); //get current work folder
  42. System.out.println(currentPath);
  43. File scrFile = drivername.getScreenshotAs(OutputType.FILE);
  44. // Now you can do whatever you need to do with it, for example copy somewhere
  45. try {
  46. System.out.println("save snapshot path is:"+currentPath+"/"+filename);
  47. FileUtils.copyFile(scrFile, new File(currentPath+"\\"+filename));
  48. } catch (IOException e) {
  49. // TODO Auto-generated catch block
  50. System.out.println("Can't save screenshot");
  51. e.printStackTrace();
  52. }
  53. finally
  54. {
  55.  
  56. System.out.println("screen shot finished");
  57. }
  58. }
  59. }

截图效果如下:

Selenium Webdriver——实现截图功能的更多相关文章

  1. Selenium webdriver实现截图功能

    可参考http://www.cnblogs.com/tobecrazy/p/3599568.html Webdriver截图时,需要引入: import java.io.File; import ja ...

  2. selenium提供的截图功能

    get_screenshot_as_file()提供一个截屏功能.在自动化执行过程中,执行失败后只能看到代码的运行错误,而不能直接看到ui上的错误,利用截屏保存下来很容易的进行问题的判断 先来执行一个 ...

  3. Selenium Webdriver 自动化测试开发常见问题(C#版)

    转一篇文章,有修改,出处http://www.7dtest.com/site/blog-2880-203.html 1:Selenium中对浏览器的操作 首先生成一个Web对象 IWebDriver ...

  4. Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能

    之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显 ...

  5. selenium + python实现截图并且保存图片

    webdriver的截图功能十分强悍,无论页面多长,webdriver都能比较完美的截到完整的页面. python代码: # -*- coding: utf-8 -*-from selenium im ...

  6. 封装selenium自动化框架中的截图功能

    对selenium自带的截图功能进行封装: 以下为封装的代码,自定义一个.py文件即可,图片路径自己设置一个. #coding:utf-8 class Screen(object): ''' 封装的截 ...

  7. selenium截图功能

    selenium自动化测试完后需要查看值观的结果,或者查操作过程中是否正确,此时需要使用自带的截图功能. 示例1: from time import sleep from selenium impor ...

  8. selenium web driver 实现截图功能

    在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import ...

  9. Selenium webdriver 截图 太长截不全的问题

    Selenium webdriver 截图 太长截不全的问题 1.环境 selenium webdriver.net 2.46.0.0 + firefox 37.0.1 + win 8.1 2.问题 ...

随机推荐

  1. Spring4 MVC RESTFul WebServices CRUD实例+RestTemplate

    简单介绍REST REST 表示状态传输.这是一个体系结构样式,可用于设计网络服务,可以被各种客户端消耗.核心思想是,不使用如CORBA,RPC或SOAP复杂的机制在机器之间进行连接,简单的 HTTP ...

  2. Rails 5 Test Prescriptions 第14章 Testing Exteranl Services(中断。)

    external testing strategy ✅ the service integration test✅ introduce VCR✅ Client Unit Tests ❌ Why an ...

  3. PrestaShop 1.7 用户付款的时候无法支付错误

    用户付款的时候出现错误,错误的信息是没有支付方式. 这个有可能是你后台支付的国家限制没有选择. 请确定你已经选择了支付国家限制已经选择了. 当选择成功后,你应该可以看到下面的选择项.

  4. IOS-更优雅地使用Static Cell

    更优雅地使用Static Cell 在项目开发中,经常会用到static cell来实现一些固定的列表界面(如:个人中心等),在static cell被点击时,如何判断被点击的cell是哪一个,有什么 ...

  5. 快速切题 sgu133.Border 离线

    133. Border time limit per test: 0.25 sec. memory limit per test: 4096 KB Along the border between s ...

  6. 201621123006 《Java程序设计》第14周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 2 ...

  7. istringstream、ostringstream、stringstream类介绍

    本文转载自: http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html 一.C++的输入输出分为三种: (1)基于控制台的I/O ( ...

  8. web前端开发常用的几种图片格式及其使用规范

    首先,在正式说图片格式之前,咱们先说一些额外的东西. 矢量图与位图 矢量图是通过组成图形的一些基本元素,如点.线.面,边框,填充色等信息通过计算的方式来显示图形的.一般来说矢量图表示的是几何图形,文件 ...

  9. 手机dp和px的转换

    1dp   0.75px  ----> 320*240 1dp   1px      ----->480*320 1dp   1.5px   ----->800*480      4 ...

  10. Windows 7 x64 安装 Oracle 11g Express

    1. 下载    在这里下载文件: Oracle Database Express Edition 11g Release 2 for Windows x32    Oracle 不提供 window ...