Как мне симулировать использование последовательности веб-страниц?

У меня есть простая последовательность веб-страниц, написанных на 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 ответа

Будет ли полезен Selinium - http://seleniumhq.org/?

В моей компании мы используем Jmeter. JMeter может имитировать веб-запросы и предоставляет довольно подробную статистику. Кроме того, я заметил из одного из ваших комментариев, что вы хотите смоделировать нескольких пользователей, и мы также настраиваем jmeter для этого.

Я бы пошел с Селеном. С Selenium IDE вы можете создавать тесты, просто нажимая нужную последовательность.

Вы также можете использовать Selenium Remote Control и программировать свои тесты самостоятельно или создавать их в Selenium IDE и вставлять их в свой проект Selenium RC.

Селен стоит того! (Однако вы можете посмотреть на Ватира как на альтернативу) наслаждайтесь!

Другие вопросы по тегам