Как сделать скриншот в Selenium WebDriver2 + C#
#1
Отправлено 26 сентября 2011 - 06:51
Screenshot ss = 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;
Но то ли какой-нибудь using я пропустил, то еще что, driver не знает метода GetScreenshot().
Вот сборки которые я использовал:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenQA.Selenium.IE;
using OpenQA.Selenium;
using System.Threading;
Подскажите, может кто сталкивался..
#2
Отправлено 26 сентября 2011 - 09:44
Screenshot s1 = ((ITakesScreenshot)driver).GetScreenshot();
s1.SaveAsFile("ChangedColorsWorldClock.png", System.Drawing.Imaging.ImageFormat.Png);
#3
Отправлено 05 декабря 2011 - 13:29
Буду благодарен маленькому примеру на С# или любом другом языке.
#4
Отправлено 05 декабря 2011 - 17:54
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#5
Отправлено 06 декабря 2011 - 07:31
Просто по первому Селениуму "CaptureEntirePageScreenshot" намного легче, сразу делает скриншот и сохраняет.См. коммент #2, оно как раз на C#, и делается как раз скриншот страницы (а не экрана).
Но как я понял второй Селениум данный метод не поддерживает даже в режиме совместимости (WebDriverBackedSelenium) ?
#6
Отправлено 06 декабря 2011 - 19:43
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#7
Отправлено 07 декабря 2011 - 10:19
Просто хотелось делать тесты максимально независимыми, при этом минимально программируя. А тут еще придется подключать дополнительную библиотеку System.Drawing.dll.Напишите вспомогательный метод, который будет сразу делать скриншот и сохранять :)
Да и зачем изобретать велосипед, если уже есть метод?
Другое дело, что судя по всему в Selenium 2 он не работает (вот именно про это я и хочу услышать подтверждение или опровержение), хотя в списке методов есть. Возможно он предназначен для режима совместимости с 1-ым, хотя у меня он почему-то не работает, выдает ошибку вроде как, что не поддерживается.
#8
Отправлено 08 декабря 2011 - 07:44
Другое дело, что судя по всему в Selenium 2 он не работает (вот именно про это я и хочу услышать подтверждение или опровержение), хотя в списке методов есть. Возможно он предназначен для режима совместимости с 1-ым, хотя у меня он почему-то не работает, выдает ошибку вроде как, что не поддерживается.
Если имеется в виду WebDriverBackedSelenium (то есть режим эмуляции) -- да, там снятие скриншотов может не работать.
В "чистом" веб-драйвере снятие скриншотов работает, хотя и не во всех браузерах пока.
Если есть конкретные примеры (версии ОС, браузеров) -- приводите, попробуем разобраться, почему не работает.
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium
#9
Отправлено 23 декабря 2011 - 16:29
using OpenQA.Selenium.IE;
using OpenQA.Selenium;
using System.Drawing.Imaging;
public void TakeScreenshot(IWebDriver driver, string saveLocation)
{
ITakesScreenshot screenshotDriver = driver as ITakesScreenshot;
Screenshot screenshot = screenshotDriver.GetScreenshot();
screenshot.SaveAsFile(saveLocation, ImageFormat.Png);
}
Информация взята с : http://www.jimmycoll...org/blog/?p=483
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных