Можно ли выяснить, если IE перезагружает xap Silverlight из C # или код powershell? - PullRequest
0 голосов
/ 26 февраля 2019

У нас все еще есть Silverlight (печальная история), и мне нужно написать дымовой тест, который проверяет, перезагружает ли IE файлы XAP при доступе к сайту после развертывания.Повторная загрузка XAP означает, что существует какая-то проблема конфигурации / развертывания, и это плохо.

Код - C # или Powershell, и, разумеется, он должен выполняться без вмешательства человека.Он работает на выделенной машине для запуска тестов, где я могу установить, например, Fiddler.

Однако использование Fiddler или любого другого глобального прокси-сервера в этом отношении не является идеальным, так как один и тот же тест-бегун используется для тестирования различных сайтов.развернуты в нашем облаке.Это возможно, хотя.Дополнительным осложнением является то, что Fiddler должен будет установить свои сертификаты SSL, чтобы расшифровать трафик HTTPS.Короче говоря, я не уверен, что это правильный путь.Кроме того, мне неясно, как автоматизировать шаги:

  1. Установить сертификат
  2. Запустить захват
  3. Получить захваченный трафик
  4. Остановить захват
  5. Удалить сертификат

Итак, я ищу совет о том, как это сделать, необязательно вообще использовать Fiddler или глобальный HTTP-прокси.Есть идеи?

РЕДАКТИРОВАТЬ 1

Этот тест уже включен в список ручных тестов дыма.Мы автоматизируем эти тесты, и теперь настала очередь этого.

1 Ответ

0 голосов
/ 27 февраля 2019

Похоже, вы пытаетесь протестировать поведение IE, что нецелесообразно.

Например, IE может быть настроен на постоянное удаление кэша при выходе, поэтому повторная загрузка XAPожидаемое поведение в последующем запросе.

Я бы на самом деле попытался проверить HTML-страницу хостинга и / или HTTP-ответ.

Например, вы можете запросить веб-страницу программно, используя WebRequest а затем проверьте, есть ли в заголовке ответа срок действия содержимого или элемент управления кэшем, который сообщает браузеру, следует ли ему кэшировать страницу.

Возможно, вы также захотите проверить дочерний элемент <param />элемента <object /> на веб-странице, значение source которого имеет URL-адрес.

Браузер будет кэшировать файл XAP, если URL-адрес такой же, как и раньше.Таким образом, вы можете проверить, изменяется ли это значение с последующим запросом.

С https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/gg701782(v%3Doffice.14):
... браузер будет кэшировать этот файл .xap так же, как и любой другой файл на основеУстановленные политики кэширования.

Вот пример кода C #:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri("http://example.com/SilverlightHostingPage.html"));

HttpWebResponse response = (HttpWebResponse)request.GetResponse();
string cacheControlHeader = response.GetResponseHeader("Cache-Control");
// TODO: check header value

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(response.GetResponseStream());
string xapUrl = xmlDoc.DocumentElement.SelectSingleNode("//object/param[@name='source']").Attributes("value").Value;
// TODO: check xap url
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...