2010-12-14 3 views
1

Я тестирую сайт, который обслуживает некоторый двоичный (то есть не HTML) контент. Некоторые ссылки напрямую доставляют пользовательские изображения, другие ссылки на пользовательские PDF-файлы.Проверка двоичного содержимого с WatiN

Я строю тестовые примеры в WatiN и NUnit. Подумайте, есть ли способ, используя WatiN, чтобы загрузить его на страницу, а затем получить содержимое байта [] этой страницы.

В настоящее время я просто запускаю WebClient для захвата содержимого, а не через WatiN, но это еще непроверенный код в моем наборе тестов.

Кто-нибудь еще делает это и имеет предложения?

ответ

1

Возможно, было бы проще пропустить Watin и использовать HttpWebRequest, чтобы захватить контент прямо с C# (в тестовой или тестовой библиотеке).

K Scott Allen имеет запись в блоге на получение двоичных данных с использованием HttpWebRequest здесь: http://odetocode.com/Blogs/scott/archive/2004/10/05/webrequest-and-binary-data.aspx

Если вы не знаете, цель ссылки заранее (динамически генерируемые URL, например), а затем использовать Watin, чтобы получить ссылку , затем HttpWebRequest, чтобы получить контент.

Цитата K Scott Allen's blog post выше, должны получить вам Byte [] вы после

byte[] result; 
byte[] buffer = new byte[4096]; 

WebRequest wr = WebRequest.Create(someUrl); 

using(WebResponse response = wr.GetResponse()) 
{ 
    using(Stream responseStream = response.GetResponseStream()) 
    { 
     using(MemoryStream memoryStream = new MemoryStream()) 
     { 
     int count = 0; 
     do 
     { 
      count = responseStream.Read(buffer, 0, buffer.Length); 
      memoryStream.Write(buffer, 0, count); 
     } while(count != 0); 
     result = memoryStream.ToArray(); 
     } 
    } 
} 
+0

Это в основном то, что я делаю. Хотя я использовал WebClient, а не WebRequest. Наверное, я задавался вопросом, есть ли что-то в WatiN для этого. Я обнаружил, что делал это достаточно часто, поэтому я просто строю для него утверждение. – jwadsack

+0

Как кажется, нет встроенного решения, я отмечаю это как правильный ответ. – jwadsack

Смежные вопросы