在使用Selenium进行Web测试时,获取当前装载页面的屏幕快照是有益的。下面以C#为例给出获取屏幕快照的方法。
1、定义实用静态帮助器类和扩展方法
using System;
using OpenQA.Selenium;
using System.Drawing.Imaging;
namespace SeleniumTest
{
public static class SeleniumUtils
{
/// <summary>
/// 以指定的图像格式存储当前加载页面的屏幕快照到指定文件,如果文件已经存在则覆盖此文件
/// </summary>
/// <param name="driver">IWebDriver实例,如FirefoxDriver或InternetExplorerDriver</param>
/// <param name="imageFilePath">保存快照的完整路径和文件名称</param>
/// <param name="imageFormat">保存图像的格式</param>
public static void SaveScreenShot(this IWebDriver driver, string imageFilePath, ImageFormat imageFormat)
{
(driver as ITakesScreenshot).GetScreenshot().SaveAsFile(imageFilePath, imageFormat);
}
}
}
2、使用示例:
// IWebDriver driver = new FirefoxDriver();
// 使用静态方法调用
SeleniumUtils.SaveScreenShot(driver, "C:\\SeleniumTestImages\\YourImageName.jpg", ImageFormat.Jpeg);
或
// 使用扩展方法调用
driver.SaveScreenShot("C:\\SeleniumTestImages\\YourImageName.jpg", ImageFormat.Jpeg);
注释:
1、帮助器方法的定义方式是灵活的,是否使用也不是必须的
2、一般不需要保存所有测试过程屏幕的快照,仅在Assert断言失败时保存屏幕快照,因此可以
try
{
// 使用测试框架,如NUnit的断言方法,如果失败将抛出异常
Assert.AreEqual(excepted, actual);
}
catch
{
driver.SaveScreenShot("C:\\SeleniumTestImages\\YourImageName.jpg", ImageFormat.Jpeg);
}
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
Python 通过Selenium浏览器自动化测试框架获取HTML代码中的可用数据 Python源码Python 通过Selenium浏览器自动化测试框架获取HTML代码中的可用数据 Python源码Python 通过Selenium浏览器自动化测试框架获取HTML代码...
current_url 获取当前页面的url; page_source 获取当前页面的源码; title 获取当前页面的title; 将以上方法按顺序练习一遍,效果如GIF: from selenium import webdriver from time import sleep sleep(2) ...
Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器。ChromeDriver 90.0.4430.24驱动文件下载: 1. chromedriver_linux64....
Selenium::远程::驱动程序 是一个测试工具,允许您使用任何主流 JavaScript 浏览器针对任何 HTTP 网站以任何编程语言编写自动化 Web 应用程序 UI 测试。 该模块是的 Webdriver 客户端的 Perl 实现 该模块使用 ...
试读 Selenium 2自动化测试实战 基于Python语言 企业批量购书 分享 关注商品举报 Selenium 2自动化测试实战 基于Python语言 这不仅是一本Selenium2自动化测试书,同时还是一本实用的Python基础编程书
cd D:\selenium快速入门示例 D: set JAVA_HOME=E:\tools\java\jdk1.8.0_181x64 set PATH=%JAVA_HOME%\bin;%PATH% javac -encoding utf-8 -Djava.ext.dirs=. SogouTest1.java java -Djava.ext.dirs=. SogouTest1 ...
06_phantomjs+selenium示例2.py06_phantomjs+selenium示例2.py06_phantomjs+selenium示例2.py06_phantomjs+selenium示例2.py06_phantomjs+selenium示例2.py06_phantomjs+selenium示例2.py06_phantomjs+selenium示例2...
带有可与Selenium网格一起使用的原子外壳的Selenium服务器。 基于 。 与网络驱动程序一起使用 caps = Selenium :: WebDriver :: Remote :: Capabilities . chrome ( "chromeOptions" => { "binary" => "/atom" } ) ...
资源包括Selenium自动化测试:基于Python语言的文档以及每章节的代码
selenium-java-3.141.59.jar selenium java自动化
selenium示例
Selenium给大家 免费的Selenium课程,将带您逐步...第2课:每个人的Selenium(第2部分:如何唯一地标识Web元素) 本教程将重点介绍使用XPath唯一标识Web元素。 ->单击在LinkedIn上阅读文章。 第3课:即将推出 执照
2014 年匹兹堡 Perl 研讨会和 2015 年盐湖城 YAPCNA 使用 Perl 进行Selenium测试的 htdocs 示例、演示文稿、脚本和页面幻灯片也可在线获取: //...演示 YAPCNA 2015 演讲(盐湖城)目录布局/htdocs/ - 用于 timvroom....
selenium_server_tandalone-2.38.0.jar
Selenium WebDriver Practical Guide的示例代码,用普通压缩软件可以解压缩
五:用selenium执行JS代码 六:获取节点信息 七:选择Frame 八:延时等待 九:前进和后退 十:cookies 十一:选项卡管理 十二:其他的API 一:基本操作 from selenium import webdriver browser=webdriver....
Chapter 2: Finding Elements Chapter 3: Working with Elements Chapter 4: Working with Selenium API Chapter 5: Synchronizing Tests Chapter 6: Working with Alerts, Frames, and Windows Chapter 7: Data-...
Selenium-Python-gmail 使用 python 和 selenium ... 名称:使用测试运行 py.test 的命令名称示例:login_test.py 中的 pytest 目标:path\to\login_test.py 示例:C:\Users\user\Documents\DEMO\selenium-python-gmail
《selenium2 python 自动化测试实战》这本书中的代码示例
selenium获取断言信息,显示等待和隐式等待,xpath高级语法代码示例