Перейти к содержимому

Фотография

LR скрипты, для тестирования отчетов.


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 9

#1 BlaMyr

BlaMyr

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:BlaMyr

Отправлено 26 декабря 2006 - 09:13

Записываю в LR скрипты, для тестирования отчетов.
Но проблема в том что сами отчеты выгружаются по несколько минут и LR не дожидается ответа сервера и выдает ошибку.
Протокол Socet.
lr_think_time с каким-нибудт значением не подходит т.к. нужно знать время построения.
Пытаюсь играться с закладкой Pacing, тоже не помогает.. мож не так играюсь...
:hi:
  • 0

#2 BlaMyr

BlaMyr

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:BlaMyr

Отправлено 26 декабря 2006 - 10:14

Можно в LR как-нибудь выставить время ожидания ответа от сервера?
  • 0

#3 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 26 декабря 2006 - 17:56

Протокол Socet.

Проблема в том, что протокол у вас Сосет :hi: Можно полюбопытствовать по каким причинам был выбран именно он? Что за приложение тестируете? С какой архитектурой?
  • 0
Дмитрий Шевченко

HP Software

#4 BlaMyr

BlaMyr

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:BlaMyr

Отправлено 27 декабря 2006 - 09:30

Тестирую приложение написанное на Прогресс, вот оно и общается между клиентом и сервером только на этом протоколе.
А что, это значит что не получится заставить LR ждать?
  • 0

#5 BlaMyr

BlaMyr

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:BlaMyr

Отправлено 27 декабря 2006 - 12:52

Всем спасибо получилось )
Сделал ожидание вот так:
lrs_send("socket0", "buf146", LrsLastArg);
do
{
lrs_receive("socket0", "buf147", LrsLastArg);
if (lrs_get_last_received_buffer_size("socket0") > 1)
end_report = 1;
}
while (! end_report);
lrs_send("socket0", "buf148", LrsLastArg);
  • 0

#6 Dmitry_NJ

Dmitry_NJ

    Консультант

  • Members
  • PipPipPipPipPipPip
  • 3 122 сообщений
  • ФИО:Дмитрий Шевченко
  • Город:New Jersey, USA

Отправлено 28 декабря 2006 - 03:18

Тестирую приложение написанное на Прогресс, вот оно и общается между клиентом и сервером только на этом протоколе.

Думаю, что клиент с сервером общаются нe на WinSocket'e, а на каком-то своем proprietary протоколе. WinSocket это просто единственное, что позволяет вам писать сессии рекордером.

А что, это значит что не получится заставить LR ждать?

Нет, это просто значит, что в зависимости от сложности реализуемых бизнес-процессов, работа даже над одним скриптом может занять несколько недель. А в некоторых случаях (пересылка зашифрованных binary данных) вы будете практически бессильны сделать мало-мальски простую параметризацию/корреляцию.
  • 0
Дмитрий Шевченко

HP Software

#7 QA*

QA*

    Активный участник

  • Members
  • PipPip
  • 104 сообщений
  • Город:Москва

Отправлено 28 декабря 2009 - 11:57

Можно в LR как-нибудь выставить время ожидания ответа от сервера?

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

Как изменить время ожидания с 120 секунда, допустим, на 30 секунд?

Вышепредставленным способом не получилось этого добиться...

Вот кусочек скрипта, где происходит авторизация:
Action_Login()
{

	web_add_cookie("b=b; DOMAIN={HOST}");

	web_reg_find("Text=НОВОСТИ СИСТЕМЫ", 
		LAST);

	web_submit_data("user", 
		"Action=http://{HOST}/servlet/user", 
		"Method=POST", 
		"RecContentType=text/html", 
		"Referer=http://{HOST}/jsp/index.jsp", 
		"Snapshot=t2.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		"Name=action", "Value=login", ENDITEM, 
		"Name=login", "Value=User58432", ENDITEM, 
		"Name=password", "Value=9MX3P4p2eT", ENDITEM, 
		"Name=submit", "Value=OK", ENDITEM, 
		EXTRARES, 
		"Url=http://.......................................................", "Referer=http://{HOST}/jsp/index.jsp", ENDITEM, 
		LAST);

	return 0;
}
Если за 30 секунд мы не дожидаемся загрузки страницы, нам нужно просто закончить выполнение скрипта с сообщением об ошибке.
  • 0

#8 Axaxa

Axaxa

    Новый участник

  • Members
  • Pip
  • 3 сообщений
  • ФИО:Axaxa

Отправлено 12 января 2010 - 12:19

Попробуйте в настройках вашего скрипта Preferences -> Options далее там увидите Http-request***
Там попробуйте поменять.
Как альтернативный вариант Вы можете замерять время с помощью транзакций, а потом смотреть(lr_get_trans_instance_duration(parent_trans_handle);)
если оно дольше 30 сек, то генерить ошибку ну или выставлять транзакцию в FAIL.
  • 0

#9 Stren

Stren

    Активный участник

  • Members
  • PipPip
  • 129 сообщений
  • ФИО:Буланов Алексей Александрович
  • Город:Москва

Отправлено 26 июня 2013 - 05:10

Можно в LR как-нибудь выставить время ожидания ответа от сервера?

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

Как изменить время ожидания с 120 секунда, допустим, на 30 секунд?

Вышепредставленным способом не получилось этого добиться...

Вот кусочек скрипта, где происходит авторизация:
Action_Login()
{

    web_add_cookie("b=b; DOMAIN={HOST}");

    web_reg_find("Text=НОВОСТИ СИСТЕМЫ", 
        LAST);

    web_submit_data("user", 
        "Action=http://{HOST}/servlet/user", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://{HOST}/jsp/index.jsp", 
        "Snapshot=t2.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=action", "Value=login", ENDITEM, 
        "Name=login", "Value=User58432", ENDITEM, 
        "Name=password", "Value=9MX3P4p2eT", ENDITEM, 
        "Name=submit", "Value=OK", ENDITEM, 
        EXTRARES, 
        "Url=http://.......................................................", "Referer=http://{HOST}/jsp/index.jsp", ENDITEM, 
        LAST);

    return 0;
}
Если за 30 секунд мы не дожидаемся загрузки страницы, нам нужно просто закончить выполнение скрипта с сообщением об ошибке.

Example: lrs_set_recv_timeout2

In the following example, lrs_set_recv_timeout specifies a timeout of 120 seconds for a login procedure. Once the connection is established, the data streams at a quicker rate. The lrs_recv_timeout2 function sets the timeout for subsequent iterations to 10 seconds.

lrs_create_socket("socket2", "TCP", "RemoteHost=[url="http://tears.mercury.co.il:23/"]tears.mercury.co.il:23[/url]", LrsLastArg);

lrs_send("socket2", "buf2", LrsLastArg);

lrs_set_recv_timeout(120,0); 

[b]lrs_set_recv_timeout2[/b](10,0); 

lrs_receive("socket2", "buf3", LrsLastArg);


  • 0
С уважением Алексей ака Stren, подробнее в профайле.

#10 igor2000

igor2000

    Новый участник

  • Members
  • Pip
  • 16 сообщений


Отправлено 29 мая 2014 - 06:25

Советовали на одном из форумов применять все три

 

 

   web_set_timeout("STEP","240");

   web_set_timeout("CONNECT","240");

   web_set_timeout("RECEIVE","240");


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных