Selenium Webdriver——实现截图功能
截图方法
- public static void snapshot(TakesScreenshot drivername, String filename)
- {
- // this method will take screen shot ,require two parameters ,one is driver name, another is file name
- String currentPath = System.getProperty("user.dir"); //get current work folder
- System.out.println(currentPath);
- File scrFile = drivername.getScreenshotAs(OutputType.FILE);
- // Now you can do whatever you need to do with it, for example copy somewhere
- try {
- System.out.println("save snapshot path is:"+currentPath+"/"+filename);
- FileUtils.copyFile(scrFile, new File(currentPath+"\\"+filename));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- System.out.println("Can't save screenshot");
- e.printStackTrace();
- }
- finally
- {
- System.out.println("screen shot finished");
- }
- }
1.使用selenium打开百度,截图;
2.输入selenium关键字
3.搜索,截图
具体代码如下:
- import java.io.File;
- import java.io.IOException;
- import org.apache.commons.io.FileUtils;
- import org.openqa.selenium.By;
- import org.openqa.selenium.OutputType;
- import org.openqa.selenium.TakesScreenshot;
- import org.openqa.selenium.WebDriver;
- import org.openqa.selenium.WebElement;
- import org.openqa.selenium.firefox.FirefoxDriver;
- import org.testng.annotations.AfterClass;
- import org.testng.annotations.BeforeClass;
- import org.testng.annotations.Test;
- public class TestSaveScreen {
- private WebDriver driver;
- @BeforeClass
- public void beforeClass() {
- driver = new FirefoxDriver();
- driver.get("https://www.baidu.com/");
- snapshot((TakesScreenshot)driver,"open_baidu.png");
- }
- @Test
- public void test() {
- WebElement searchInput= driver.findElement(By.id("kw"));
- searchInput.sendKeys("selenium"); WebElement searchButton= driver.findElement(By.id("su"));
- searchButton.click();
- snapshot((TakesScreenshot)driver,"search_output.png");
- }
- @AfterClass
- public void afterClass() {
- driver.quit();
- }
- public static void snapshot(TakesScreenshot drivername, String filename)
- {
- // this method will take screen shot ,require two parameters ,one is driver name, another is file name
- String currentPath = System.getProperty("user.dir"); //get current work folder
- System.out.println(currentPath);
- File scrFile = drivername.getScreenshotAs(OutputType.FILE);
- // Now you can do whatever you need to do with it, for example copy somewhere
- try {
- System.out.println("save snapshot path is:"+currentPath+"/"+filename);
- FileUtils.copyFile(scrFile, new File(currentPath+"\\"+filename));
- } catch (IOException e) {
- // TODO Auto-generated catch block
- System.out.println("Can't save screenshot");
- e.printStackTrace();
- }
- finally
- {
- System.out.println("screen shot finished");
- }
- }
- }
截图效果如下:
Selenium Webdriver——实现截图功能的更多相关文章
- Selenium webdriver实现截图功能
可参考http://www.cnblogs.com/tobecrazy/p/3599568.html Webdriver截图时,需要引入: import java.io.File; import ja ...
- selenium提供的截图功能
get_screenshot_as_file()提供一个截屏功能.在自动化执行过程中,执行失败后只能看到代码的运行错误,而不能直接看到ui上的错误,利用截屏保存下来很容易的进行问题的判断 先来执行一个 ...
- Selenium Webdriver 自动化测试开发常见问题(C#版)
转一篇文章,有修改,出处http://www.7dtest.com/site/blog-2880-203.html 1:Selenium中对浏览器的操作 首先生成一个Web对象 IWebDriver ...
- Selenium2学习-023-WebUI自动化实战实例-021-获取浏览器显示区域大小,通过 WebDriver 截图功能
之前的博文 020-JavaScript 在 Selenium 自动化中的应用实例之二(获取浏览器显示区域大小) 简述了通过 JavaScript 获取浏览器显示区域大小,此文将简述另一种获取浏览器显 ...
- selenium + python实现截图并且保存图片
webdriver的截图功能十分强悍,无论页面多长,webdriver都能比较完美的截到完整的页面. python代码: # -*- coding: utf-8 -*-from selenium im ...
- 封装selenium自动化框架中的截图功能
对selenium自带的截图功能进行封装: 以下为封装的代码,自定义一个.py文件即可,图片路径自己设置一个. #coding:utf-8 class Screen(object): ''' 封装的截 ...
- selenium截图功能
selenium自动化测试完后需要查看值观的结果,或者查操作过程中是否正确,此时需要使用自带的截图功能. 示例1: from time import sleep from selenium impor ...
- selenium web driver 实现截图功能
在验证某些关键步骤时,需要截个图来记录一下当时的情况 Webdriver截图时,需要引入 import java.io.File; import java.io.IOException; import ...
- Selenium webdriver 截图 太长截不全的问题
Selenium webdriver 截图 太长截不全的问题 1.环境 selenium webdriver.net 2.46.0.0 + firefox 37.0.1 + win 8.1 2.问题 ...
随机推荐
- Spring4 MVC RESTFul WebServices CRUD实例+RestTemplate
简单介绍REST REST 表示状态传输.这是一个体系结构样式,可用于设计网络服务,可以被各种客户端消耗.核心思想是,不使用如CORBA,RPC或SOAP复杂的机制在机器之间进行连接,简单的 HTTP ...
- Rails 5 Test Prescriptions 第14章 Testing Exteranl Services(中断。)
external testing strategy ✅ the service integration test✅ introduce VCR✅ Client Unit Tests ❌ Why an ...
- PrestaShop 1.7 用户付款的时候无法支付错误
用户付款的时候出现错误,错误的信息是没有支付方式. 这个有可能是你后台支付的国家限制没有选择. 请确定你已经选择了支付国家限制已经选择了. 当选择成功后,你应该可以看到下面的选择项.
- IOS-更优雅地使用Static Cell
更优雅地使用Static Cell 在项目开发中,经常会用到static cell来实现一些固定的列表界面(如:个人中心等),在static cell被点击时,如何判断被点击的cell是哪一个,有什么 ...
- 快速切题 sgu133.Border 离线
133. Border time limit per test: 0.25 sec. memory limit per test: 4096 KB Along the border between s ...
- 201621123006 《Java程序设计》第14周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2.1 简述如何使用数据库技术改造你的系统.要建立什么表?截图你的表设计. 2 ...
- istringstream、ostringstream、stringstream类介绍
本文转载自: http://www.cnblogs.com/gamesky/archive/2013/01/09/2852356.html 一.C++的输入输出分为三种: (1)基于控制台的I/O ( ...
- web前端开发常用的几种图片格式及其使用规范
首先,在正式说图片格式之前,咱们先说一些额外的东西. 矢量图与位图 矢量图是通过组成图形的一些基本元素,如点.线.面,边框,填充色等信息通过计算的方式来显示图形的.一般来说矢量图表示的是几何图形,文件 ...
- 手机dp和px的转换
1dp 0.75px ----> 320*240 1dp 1px ----->480*320 1dp 1.5px ----->800*480 4 ...
- Windows 7 x64 安装 Oracle 11g Express
1. 下载 在这里下载文件: Oracle Database Express Edition 11g Release 2 for Windows x32 Oracle 不提供 window ...