在Selenium 2中截取测试截图的最佳方式是?

我需要一种方式来截取我的功能测试。 现在我使用Selenium 2和C#绑定。 我非常想在测试结束时截取屏幕截图,以确保显示所需的页面。 你们有没有特别的工具可以加入到我的C#代码中来触发屏幕截图? 我找不到内置的Selenium 2解决方案(无需查看)。


要在Selenium 2中执行截图,您需要执行以下操作

driver = new FireFoxDriver(); // Should work in other Browser Drivers
driver.Navigate().GoToUrl("http://www.theautomatedtester.co.uk");
Screenshot ss = ((ITakesScreenshot) driver).GetScreenshot();

//Use it as you want now
string screenshot = ss.AsBase64EncodedString;
byte[] screenshotAsByteArray = ss.AsByteArray;
ss.SaveAsFile("filename", ImageFormat.Png); //use any of the built in image formating
ss.ToString();//same as string screenshot = ss.AsBase64EncodedString;

该代码应该能够工作,因为我在IronPython Repl中快速测试了它。 请参阅下面的IronPython代码

import clr
clr.AddReference("WebDriver.Common.dll")
clr.AddReference("WebDriver.Firefox.dll")
from OpenQA.Selenium import *
from OpenQA.Selenium.Firefox import *
driver = FirefoxDriver()
driver.Navigate().GoToUrl("http://www.theautomatedtester.co.uk")
s = driver.GetScreenshot()
s.AsBaseEncodedString
# HUGE string appears in the REPL

var driver = new InternetExplorerDriver();
driver.Navigate().GoToUrl("http://www.google.com");
var ss = driver.GetScreenshot();   
ss.SaveAsFile("ss.png", System.Drawing.Imaging.ImageFormat.Png);

我不知道它是否重要,但是当我用c#写作时,我最终不得不投掷驱动程序。

就像是:

Screenshot ss = ((ITakesScreenshot)driver).GetScreenshot();
链接地址: http://www.djcxy.com/p/67383.html

上一篇: Best way to take screenshots of tests in Selenium 2?

下一篇: UWP RichTextBlock localization