Как мне симулировать использование последовательности веб-страниц?
У меня есть простая последовательность веб-страниц, написанных на ASP.Net 3.5 SP1.
- Страница 1 - Форма входа в систему.... txtUsername, txtPassword и cmdLogon
- Страница 2 - Меню (созданное с использованием элементов управления DevExpress ASP.Net)
- Страница 3 - страница, перенаправленная сервером в случае, если пользователь выберет правильный пункт меню на странице 2
Я хотел бы создать многопоточную программу для симуляции многих пользователей, пытающихся использовать эту последовательность страниц.
Мне удалось создать хост-приложение Winforms, которое запускает новый поток для каждого "пользователя". Мне также удалось выработать основы WebRequest, достаточные для выполнения запроса, который извлекает саму страницу входа в систему.
Dim Request As HttpWebRequest = TryCast(WebRequest.Create("http://MyURL/Logon.aspx"), HttpWebRequest)
Dim Response As HttpWebResponse = TryCast(Request.GetResponse(), HttpWebResponse)
Dim ResponseStream As StreamReader = New StreamReader(Response.GetResponseStream(), Encoding.GetEncoding(1252))
Dim HTMLResponse As String = ResponseStream.ReadToEnd()
Response.Close()
ResponseStream.Close()
Затем мне нужно смоделировать пользователя, который вводил информацию в 2 текстовых поля и нажимал кнопку входа... У меня есть предчувствие, что мне нужно добавить правильный тип "PostData" в запрос. перед отправкой.
Однако я также обеспокоен тем, что ViewState может быть проблемой.
Я прав в отношении PostData?Как добавить postData к запросу?
Нужно ли беспокоиться о Viewstate?
Обновление: хотя я ценю, что Selenium или аналогичные продукты полезны для приемочного тестирования, я считаю, что они довольно неуклюжи в том, что касается нагрузочного тестирования.
Я бы предпочел не загружать 100 экземпляров Firefox или IE, чтобы имитировать 100 пользователей, попавших на мой сайт.
По этой причине я надеялся выбрать маршрут ASPNet HttpWebRequest.
3 ответа
В моей компании мы используем Jmeter. JMeter может имитировать веб-запросы и предоставляет довольно подробную статистику. Кроме того, я заметил из одного из ваших комментариев, что вы хотите смоделировать нескольких пользователей, и мы также настраиваем jmeter для этого.
Я бы пошел с Селеном. С Selenium IDE вы можете создавать тесты, просто нажимая нужную последовательность.
Вы также можете использовать Selenium Remote Control и программировать свои тесты самостоятельно или создавать их в Selenium IDE и вставлять их в свой проект Selenium RC.
Селен стоит того! (Однако вы можете посмотреть на Ватира как на альтернативу) наслаждайтесь!