Как мне автоматизировать веб-прокси в .NET для модульных тестов (включая настройку и демонтаж)?
-
02-07-2019 - |
Вопрос
Следуя предложению Джонатана Холланда в его комментарии к моему предыдущему вопросу: Есть ли в .NET какой-либо способ программно прослушивать HTTP-трафик? Я задал отдельный (но не совсем дублирующий) вопрос для того, что я в самом деле хотите знать:
Как мне автоматизировать веб-прокси в .NET для модульных тестов (включая настройку и удаление) для слежки за HTTP-трафиком, который поступает из браузера (в частности, за изображениями, скриптами и XMLHttpRequests на запрашиваемой странице)?
Я предпочитаю иметь нулевую настройку (поэтому в Windows не установлен Fiddler), где все может быть распаковано из сборки, развернуто, а затем удалено, так сказать, без следа.
Решение
WebAii 2.0 имеет встроенный HTTP-прокси:
http://www.artoftest.com/community/blogs/09-03-25/WebAii_2_0_Beta_Released.aspx
Другие советы
Запустите свой собственный сквозной прокси-сервер, затем попросите тестовый жгут выдавать команды настройки на порту администратора прокси-сервера.Прокси-сервер послушно направит любое обычное соединение к указанному ip: порту с минимальной "настройкой".
Если вы хотите получить контроль над запросом, подобным браузеру, и просматривать запросы и заголовки из стимулируемого веб-браузера на свой локальный хост, вы можете использовать System.Net.ВебКлиент
Если вам нужно решение .NET, в котором вы используете полное обнаружение прокси, тогда взгляните на эту статью MSDN: http://msdn.microsoft.com/en-us/magazine/cc300743.aspx.В нем объясняется, как интегрироваться с прокси-сервером, таким как Скрипач
Прежде чем использовать любое из этих решений, я настоятельно рекомендую вам ознакомиться с вашими модульными тестами и с тем, чего вы пытаетесь достичь.Полноценное прокси-решение часто выходит за рамки модульных тестов, и вы можете захотеть немного уменьшить масштаб своих тестов.
Однако, если вы пишете интеграционные тесты, то эти решения должны сослужить вам хорошую службу.
Я не уверен, что это то, что вы ищете, но вот пример ASP.NET модульного тестирования с использованием selenium.http://www.stevetrefethen.com/blog/AutomatedTestingOfASPNETWebApplicationsUsingSelenium.aspx