Prerequisites - Microsoft · Web viewТестирование и отладка...

37
Лабораторная работа Тестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version: 12.0.21005.1 Last updated: 12/19/2013

Transcript of Prerequisites - Microsoft · Web viewТестирование и отладка...

Page 1: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Лабораторная работаТестирование и отладка Sharepoint-приложений в Visual Studio 2013Lab version: 12.0.21005.1

Last updated: 12/19/2013

Page 2: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

СОДЕРЖАНИЕ

РЕЗЮМЕ.................................................................................................................................................... 3

УПРАЖНЕНИЕ 1: СОЗДАНИЕ ЮНИТ-ТЕСТОВ С SHAREPOINT EMULATOR....................................5

УПРАЖНЕНИЕ 2: INTELLITRACE ДЛЯ SHAREPOINT.........................................................................19

УПРАЖНЕНИЕ 3: ВЕБ И НАГРУЗОЧНОЕ ТЕСТИРОВАНИЕ SHAREPOINT-ПРИЛОЖЕНИЙ..........27

Page 3: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

РезюмеИз этой лабораторной работы вы узнаете о функциональности Visual Studio 2013 для тестирования и отладки Sharepoint-приложений.

Prerequisites

Для выполнения лабораторной работы вам понадобится виртуальная машина с Visual Studio 2013. Подробнее про то, где загрузить и как ее использовать, здесь .

УпражненияЭта лабораторная работа включает в себя следующие упражнения:

1. Создание юнит-тестов с SharePoint Emulator

2. IntelliTrace для SharePoint

3. Веб и нагрузочное тестирование Sharepoint-приложений

Примерное время выполнения лабораторной работы: 60 минут.

Page 4: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

1: -Упражнение Создание юнит SharePoint Emulatorтестов с

В этом упражнении вы научитесь использовать Sharepoint Emulator для юнит-тестов и удаления ненужных зависимостей от SharePoint и SharePoint API, изолируя таким образом тесты и тестируя только нужный кода.

Примечание: В виртуальной машине вы можете пронаблюдать ошибки и долгий процесс открыти командного портала во время первого запуска сервисов Sharepoint.

В зависимости от используемого вами оборудования процесс загрузки может занимать несколько минут, и просто продолжайте обновлять страницу. Если после нескольких минут портал не открывается, проверьте, правильно ли вы настроили виртуальную машину – у нее должен быть как минимум один сетевой адаптер (рекомендуем использовать internal).

1. Войдите под аккаунтом Adam (VSALM\Adam). Пароль: P2ssw0rd.

2. Запустите Visual Studio 2013 и откройте AppointmentsWebPart из C:\SharePointDemos\AppointmentsWebPart (File | Open | Project/Solution…).

Page 5: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 1Загрузка решения

Примечание: ссылка на Visual Studio 2013 в панели задач была настроена для запуска в режиме администратора, что необходимо для некоторых действий с Sharepoint, например, развертывания.

3. Решение содержит веб-часть для пользователя, использующего ее для назначения напоминания. Нажмите правой кнопкой на AppointmentsWebPart в Solution Explorer и выберите Deploy для развертывания и запуска локального сервера Sharepoint.

Изображение 2Развертывание веб-части

Page 6: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

4. В Internet Explorer откройте http://vsalm.

Изображение 3SharePoint-сайт

5. Нажмите на Edit.

Изображение 4Кнопка Edit

6. Поставьте курсор в начало страницы.

Page 7: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 5Режим редактирования

7. Нажмите на Insert.

Изображение 6Вкладка Insert

8. Нажмите на Web Part.

Изображение 7

Page 8: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Кнопка Web Part

9. Нажмите на категорию Custom, AppointmentsWebPart. Нажмите на Add для добавления на страницу.

Изображение 8Добавление на веб-часть

10. Нажмите на Save.

Page 9: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 9Сохранение и закрытие

11. Веб-часть подразумевает наличие списка Appointments. Для создания этого списка нажмите на иконку шестеренки в правом верхнем углу. Нажмите на ‘Add an app’.

Page 10: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 10Переход к спискам

12. Нажмите на Appointments.

Изображение 11Создание Appointments

13. Введите в название значение Appointments и нажмите на Create.

Page 11: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 12Создание Appointments

14. Вернитесь на главную страницу сайта, нажав на Home в левой части меню.

Изображение 13Возвращение на главную страницу

15. Протестируйте Appointment, заполнив поля любыми данными и нажав на Submit.

Page 12: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 14Тестирование Appointments

16. В Appointments появилось новое напоминание.

Изображение 15Новое напоминание

17. Посмотрим, как использовать SharePoint Emulator и Microsoft Fakes Framework для разработки и выполнения юнит-тестов. SharePoint Emulator устанавливается через NuGet, поэтому в Visual Studio нажмите правой кнопкой на AppointmentsWebPart.Tests и выберите Manage NuGet Packages.

Page 13: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 16Управление пакетами NuGet

18. Пакет Microsoft.SharePoint.Emulators для тестового проекта уже установлен. Пакет загружает нужные сборки и добавляет ссылки в проект.

Изображение 17Microsoft.SharePoint.Emulators добавлена в проект

19. Закройте Manage NuGet Packages.

20. Откройте UnitTest1.cs из проекта AppointmentsWebPart.Tests и найдите первый тестовый метод, начинающийся с “ScheduleAppointment…” Этот метод использует для создания тестового списка, добавления в него полей и использования веб-части Sharepoint Emulator.

Page 14: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 18Определение юнит-теста

21. Большая часть кода выглядит как обычный Sharepoint-код, но весь код обернут в Using с созданием экземпляра SharePointEmulationScope. Это нужно для перевода вызовов Sharepoint в шимы (shims) эмулятора.

Изображение 19SharePointEmulationScope

22. Нажмите на индикатор Test Status над методом. Нажмите на Run.

Page 15: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 20Запуск юнит-теста

23. Тест успешно пройден.

Изображение 21Тест в Sharepoint Emulator пройден успешно

Примечание: если юнит-тест не проходит, перезапустите Visual Studio 2013.

24. Второй тестовый метод создает список, вставляет в него записи и вызывает метод веб-части GetAppointmentsForToday для того, чтобы возвратить все напоминания на текущую дату. Метод также использует SharePointEmulationScope.

Изображение 22Определение юнит-теста

25. Во время работы с Sharepoint Emulator вы можете обнаружить еще нереализованные функции, в этом случае будет выброшено исключение NotSupportedException с информацией о нереализованном шиме. GetAppointmentsForToday использует SPList.GetItems, выбрасывающий NotSupportedException во время запуска установленного на этой виртуальной машине Sharepoint Emulator.

Page 16: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

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

Изображение 23Реализация шима

Примечание: в этой реализации получается первый элемент списка вне зависимости от переданного аргумента. Подробнее про Microsoft Fakes Framework, см. MSDN здесь.

27. Нажмите на Test Status над методом. Нажмите на Run.

Изображение 24Результаты юнит-теста

28. Выполнять юнит-тесты можно с реальным экземпляром Sharepoint, переключив режим эмуляции на пропуск всех шимов и передачу вызовов в настоящую сборку Sharepoint. Измените в методе “GetAppointments…” код EmulationMode.Enabled на EmulationMode.Passthrough.

Изображение 25Настройка юнит-теста на пропуск эмулятора

Page 17: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Примечание: в реальном сценарии вы, возможно, захотите использовать код юнит-теста в обоих режимах. Для этого вы можете определить, что режим эмуляции будет использовать на уровне тестового класса, инициализировать тесты и делать очистку. Автоматизировать процесс можно с помощью препроцессорных директив с определением в файле тестового проекта или через командную строку. Подробнее про это и SharePoint Emulator на MSDN здесь.

29. Измените Default Processor Architecture на X64 в Test | Test Settings.

30. Запустите тест, и в этот раз он будет выполняться для реального экземпляра Sharepoint, и выполняться существенно дольше.

Изображение 26Юнит-тест пропустил эмулятор

2: IntelliTrace Упражнение дляSharePoint

В этом упражнении вы увидите, как использовать IntelliTrace для отладки Sharepoint-приложений.

1. Войдите под аккаунтом Adam (VSALM\Adam). Пароль: P2ssw0rd.

2. Запустите Visual Studio 2013 и откройте SharePointProject1 из c:\SharePointDemos\SharePointProject1.

3. Откройте WebPart1.cs. Эта веб-часть определяет имя текущего пользователя и выводит элементы интерфейса.

Изображение 27Код веб-части

Page 18: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

4. Нажмите правой кнопкой на SharePointProject1 и выберите Deploy.

5. В Internet Explorer откройте http://vsalm.

6. Нажмите на иконку шестеренки и выберите ‘Add a page’.

Изображение 28Создание страницы

7. Введите название “IntelliTrace Demo” и выберите Create.

Изображение 29Создание страницы

8. Нажмите на вкладку Insert.

Page 19: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 30Вкладка Insert

9. Нажмите на Web Part.

Изображение 31Кнопка Web Part

10. Нажмите на категорию Custom, веб-часть SharePointProject1 и нажмите на Add.

Изображение 32Добавление веб-части

Page 20: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

11. Вам откроется работающая веб-часть.

Изображение 33Работающая веб-часть

12. Нажмите на Save.

Изображение 34Сохранение страницы

Page 21: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

13. Предположим, что в веб-часть добавили функцию, но пользователи сообщают об ошибках при ее использовании. В Visual Studio раскомментируйте строку кода, выбрасывающую исключение.

Изображение 35Симуляция исключения

14. Нажмите правой кнопкой на SharePointProject1 и выберите Deploy.

15. Можно уже начать использовать IntelliTrace для сбора диагностических данных для Sharepoint с использованием Powershell-модуля. Запустите IntelliTrace, нажав правой кнопкой на StartIntelliTraceDemo.cmd и выбрав “Run as administrator”. Скрипт расположен в C:\SharePointDemos.

Изображение 36Запуск сессии IntelliTrace

Примечание: Подробнее про использование IntelliTrace в промышленной среде см. лабораторную работу “Diagnosing Issues in Production with IntelliTrace and Visual Studio 2013”.

Page 22: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

16. В Internet Explorer обновите страницу “IntelliTrace Demo”. Должна появиться страница ошибки, возвращаемая Sharepoint. Это то, что видит пользователь и то, о чем сообщает разработчикам. Разверните “Technical Details” и скопируйте Correlation ID в буфер обмена.

Изображение 37Типичная ошибка Sharepoint с correlation ID

17. Запустите в режиме администратора StopIntelliTraceDemo.cmd для остановки IntelliTrace.

Изображение 38Остановка сессии IntelliTrace

18. Скрипт IntelliTrace был настроен таким образом, чтобы складывать данные в C:\LogFileLocation. Нажмите два раза на файле IntelliTrace для его открытия в Visual Studio.

Page 23: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 39Файл лога IntelliTrace

19. В IntelliTrace Summary есть секция Analysis, показывающая необработанное исключение. Можно было бы начать отладку уже сейчас, нажав на исключении, но посмотрим информацию по Correlation ID. Скопируйте Correlation ID в пустое поле. Нажмите на View Details.

Изображение 40Просмотр информации по Correlation ID

20. В этом окне нам доступна информация типа вызванного URL, значения user agent и т.д.

Page 24: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 41Информация о веб-запросе

21. Закройте это окно.

22. Нажмите на Debug Exception справа от исключения.

Изображение 42Запуск отладки исключения

23. В режиме отладки Visual Studio 2013 показывает, где возникло исключение, и дает стандартный инструментарий IntelliTrace.

Page 25: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 43Отладка IntelliTrace

24. Закройте Visual Studio.

3: Упражнение Веб и нагрузочное тестирование

Sharepoint- приложенийВ этом упражнении вы увидите, как можно использовать инструменты веб и нагрузочного тестирования Sharepoint-приложений. Подробнее про веб и нагрузочное тестирование см. лабораторную работу “Introduction to Web Performance and Load Testing with Visual Studio Ultimate 2013”.

1. Войдите под аккаунтом Adam (VSALM\Adam). Пароль: P2ssw0rd.

2. Запустите Visual Studio 2013 и откройте SP_Web_LoadTest_Demo из c:\SharePointDemos\WebAndLoadTestProject1.

Page 26: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

3. Это решение содержит тестовый проект с двумя веб-тестами и одним нагрузочным.

Изображение 44Веб и нагрузочный тестовые проекты

4. Вплоть до Visual Studio 2012 Update 1 в целом было возможно записывать веб-тесты Sharepoint, но нужно было проделать много ручных операций, большинство из которых теперь автоматизированы. Выберите Tools | Options | Web Performance Test Tools | Web Test | SharePoint в Visual Studio, чтобы посмотреть на доступные опции.

Page 27: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 45Опции веб-тестирования SharePoint

5. Нажмите на Escape.

6. Откройте Upload.webtest. Этот веб-тест был записан во время открытия библиотеки Shared Documents на сайте Sharepoint и отправки в эту библиотеку файла.

Изображение 46Определение веб-теста

7. Разверните первый запрос к AllItems.aspx. Специфическое для SharePoint правило извлечения было автоматически добавлено для того, чтобы получить ID списка и сохранить его в виде параметра.

Изображение 47

Page 28: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Правило извлечения для SharePoint

Изображение 48Свойства правила (нажмите на F4)

8. Параметр list ID используется в последующих запросах, например к Upload.aspx.

Изображение 49Использование параметра list ID

Page 29: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

9. Загруженный во время теста файл тоже использует параметры. Разверните второй веб-запрос к Upload.aspx и пролистайте до Form Post Parameters и выберите File Upload Parameter. Это показывает нам, что, когда веб-тест будет запущен, для загружаемого файла будет использовано уникальное имя.

Изображение 50File Upload Parameter

10. Нажмите два раза на Download.webtest в Solution Explorer. Этот веб-тест был записан во время открытия библиотеки Shared Documents на сайте Sharepoint и загрузки файла из этой библиотеки.

11. Разверните второй запрос к Home.aspx. У него уже есть несколько правил извлечения для Sharepoint, получающие значения List ID и View ID и сохраняющие их в виде параметров для позднего использования.

Изображение 51

Page 30: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Правила извлечения SharePoint

12. Специфическое для SharePoint правило извлечения было автоматически добавлено для того, чтобы получить ID файла и сохранить его в виде параметра в “SharePoint – Extract Text on Key”.

Изображение 52Использование правила извлечения

13. Есть множество полезных для веб-запросов к Sharepoint правил извлечения. Нажмите правой кнопкой на одном из веб-запросов и нажмите на Add Extraction Rule.

Изображение 53Кнопка Add Extraction Rule

14. Правила извлечения позволяют вам искать ID определенных списков и документов, даты, значения текстовых полей и т.д.

Page 31: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 54Правила извлечения SharePoint

15. Нажмите на the Escape.

16. Нажмите два раза на SPLoadTest1.loadtest в Solution Explorer. Это простой нагрузочный тест, который половину своего времени использует веб-тест Download, другую половину – Upload.

Page 32: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 55Определение нагрузочного теста

17. Запустите тест, нажав на Run Load Test. Тест настроен на выполнение в течении 1 минуты.

Изображение 56Кнопка Run Load Test

18. После выполнения вы увидите результаты, визуализировать которые можно, используя представление Graphs.

Page 33: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 57Результаты нагрузочного теста

Page 34: Prerequisites - Microsoft · Web viewТестирование и отладка Sharepoint-приложений в Visual Studio 2013 Lab version:12.0.21005.1 Last updated:12/19/2013

Изображение 58Графическое отображение результатов нагрузочного теста

To give feedback please write to [email protected]

Copyright © 2023 by Microsoft Corporation. All rights reserved.