Салют.
Есть нетривиальная задача: перейти на страницу, дождаться ее полной загрузки, выполнить заполнение полей формы и нажать на кнопку входа, после этого подождать полной загрузки страницы и при помощи GetTraffic извлечь запрос на форму и получить ответ.
Сделал такой проект, все работает кроме корректного извлечения трафика.
Перед переходом на страницу выполняю : instance.UseTrafficMonitoring = true;
Далее после того как запрос на форму прошел выполняю такой код:
В 100% случаях не работает если в PM нажать на кнопку выполнить с начала, после если произвести те же самые действия руками на странице (или по шагам после того как проект 1 раз выполнился полностью) в 50% случаев работает правильно (в лог выводит ссылки, в переменную записывает нужный ответ).
Что я имею ввиду под словами "не работает": в таблице трафика в PM трафик есть всегда (и ответ на нужный мне запрос то же есть), маска 100% правильная (как минимум потому что ссылка всегда одинаковая и по этой маске он иногда находит запрос), но функция не срабатывает.
В чем может быть дело?
Есть нетривиальная задача: перейти на страницу, дождаться ее полной загрузки, выполнить заполнение полей формы и нажать на кнопку входа, после этого подождать полной загрузки страницы и при помощи GetTraffic извлечь запрос на форму и получить ответ.
Сделал такой проект, все работает кроме корректного извлечения трафика.
Перед переходом на страницу выполняю : instance.UseTrafficMonitoring = true;
Далее после того как запрос на форму прошел выполняю такой код:
Сохраняю трафик в переменную проекта, для того что бы обращаться к нему не один раз:
project.Context["traff"] = instance.ActiveTab.GetTraffic();
Ищу нужный запрос по маске, записываю его ответ в переменную проекта, а так же вывожу все ссылки запросов в лог для отладки:
var traffic = project.Context["traff"];
foreach(TrafficItem t in traffic)
{
project.SendInfoToLog(t.Url);
if (t.Url.Contains("/rest") && t.Method=="POST")
{
try
{
project.Variables["responce"].Value = System.Text.Encoding.UTF8.GetString(t.ResponseBody);
}
catch
{
continue;
}
}
}
Что я имею ввиду под словами "не работает": в таблице трафика в PM трафик есть всегда (и ответ на нужный мне запрос то же есть), маска 100% правильная (как минимум потому что ссылка всегда одинаковая и по этой маске он иногда находит запрос), но функция не срабатывает.
В чем может быть дело?