loadrunner录制乱码11录制脚本总出现服务器正在运行中,无法进行脚本录制的操作怎么办?

用loadrunner11录制脚本,可以正常打开IE,但录制过程中就出现IE自动关闭的现象,方案(网上好多方案都无法解决)
用loadrunner11录制脚本,可以正常打开IE,但录制过程中就出现IE自动关闭的现象,方案(网上好多方案都无法解决)
不区分大小写匿名
相关知识等待您来回答
电脑常识领域专家1RTE协议概述RTE Vuser将字符输入键入到终端仿真器中,将数据提交到服务器,然后等待服务器响应。例如,假设你有一台用于维护某个维修公司的客户信息的服务器。现场服务代表每次修改数据时,都通过调制解调器使用终端仿真器来访问服务器数据库。服务代表访问有关客户的信息,然后记录他执行的修理操作的详细信息。你可以使用RTE Vuser来模拟这种情况。2RTE支持的环境RTE Vuser可以模拟实际用户的操作。实际用户使用终端或终端仿真器来操作应用程序。在RTE Vuser环境中,由Vuser来替代实际用户。Vuser将操作终端仿真器PowerTerm。PowerTerm与标准的终端仿真器方式相同,它支持常用协议,例如 3270、IBM 5250、VT100和VT220。3RTE录制过程在这个例子中,我以IBM的3270为例。打开VuGen,点击新建,选择RTE协议。在RTE窗口中点击Start Record。出现如下界面:点击,Teminal-&Setup,出现如下界面,选择需求模拟的终端。点击General,配置Code
Page,如下:注:如果需要模拟的终端中有中文并且默认的配置会导致乱码,这一步是必须要配置的。点击录制工具条上的recording option,如下:配置Character Set,如下图:ANSI为单字节,DBCS为双字节。如果应用中有中文,此项也是必须修改的。点击Communication-&Connect,如下图:配置相应的Host Name(Server IP)/PortNumber,等,点击Connect。如下图:接下来就是在打开的Power Term中输入业务操作即可。录出的脚本如下:/*
*** The terminal type is 3270 Display. */TE_connect(“comm-type
= tn3270;”“host-name
= IP;”“telnet-port
= P”“use-tn3270e-protocol
=”“security-type
=”“terminal-type
= 3270”“terminal-model
= 3278-2-e (24×80);”,
(TE_errno != TE_SUCCESS)return
-1;TE_wait_sync();TE_wait_sync_transaction(”syncTrans1″);/*Enter Your Userid:*/TE_wait_cursor(15,
3, 100, 90);lr_think_time(7);TE_type(”CICSP1&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans2″);/*DATE:
*/lr_think_time(2);TE_type(”GIT011&kTab&”);TE_type(”A&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans3″);/*
SSSN TEST1338SIGN-OFF
COMPLETE…*/lr_think_time(3);TE_type(”SSSS&kBack&N&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans4″);/*SSSN ()SEMA GROUP ASIA
PACIFICPAGE 01 OF 012009170 */lr_think_time(4);TE_type(”{PCPCUser}&kTab&”);lr_think_time(2);TE_type(”BBBBBB&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans5″);/*
PCPC TEST0901SIGN-ON
COMPLETE…*/lr_think_time(3);TE_type(”PCPC&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans6″);/*PCPC ()SG CARDLINKPAGE 00 OF 012009170 */lr_think_time(25);TE_type(”{CardNo}”);lr_think_time(2);TE_type(”&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans7″);TE_wait_text
(”01″,10,63,1,64,1);/*PCPC ()SG CARDLINKPAGE 01 OF 012009170 */lr_think_time(4);TE_type(”X”);TE_type(”&kEnter&”);TE_wait_sync();TE_wait_sync_transaction(”syncTrans8″);TE_wait_text
(”01″,10,63,1,64,1);/*PCPC ( PCPC )SG CARDLINKPAGE 012009170*/lr_think_time(5);TE_type(”PCPC”);TE_type(”&kEnter&”);4RTE脚本编辑和场景运行4.1参数化由于脚本全是明文,所以数据参数化很容易做。和协议参数化步骤一样,这里不再详述。4.2关联并且RTE是对Power Term的界面操作,所以不需要做关联。如果我们希望得到返回屏幕上的某个值,可以使用TE_get_text_line函数。后面,我们会说明这些函数。4.3事务3270的RTE协议中事务不需要手工添加。选择Recording Options里的Generate automatic X-System Transactions(IBM only)即可在3270的脚本中自动生成事务。如下:生成函数如下:TE_wait_sync_transaction(”syncTrans1″);4.4集合点RTE协议中不能添加集合点,也不需要添加集合点。4.5场景运行首先要配置启用RTE vuser。如下图:注:这里一定要选中。配置run-time settings。General和一般的协议一样。这里的RTE选项卡,如有必要可以修改。场景中其他的,都按业务需求配置即可,无特别配置。5RTE相关的函数RTE的函数分为:连接函数、文本检索函数、游标函数、系统变量函数、错误处理函数、输入函数、同步函数。下面来一步步说明这些函数的用处。5.1连接函数int TE_connect ( const char *com_string, unsigned int timeout&);此函数是在录制过程中生成的,如果第一次连接没有成功,它会重新经常连几次,重连次数可以在Run Time Settings里设置。录制过程中会生成:连接类型、主机IP、端口、协议、安全类型、终端类型、终端模式等。详细的录制过程会记录在output.txt文件中。特别要注意的是:1.TE_connect必须是录制的。不能手写或者复制进来。2.一个脚本中不能有多个TE_connect函数。所以这个函数必须要录制到init中去。5.2文本检索函数5.2.1TE_find_textint TE_find_text ( const char *pattern, int col1, int row1, int col2, int row2, int *retcol, int *retrow, char *match&);在这个函数中要设置行列的值。如果不需要对比值,可以指定为空。此函数在指定的区域搜索文本,并返回match或mismatch给最后一个参数,返回精确的行列值给*retcol和*retrow。对一个屏幕来说,坐标(1,1)是起始位置。5.2.2TE_get_line_attributechar * TE_get_line_attribute ( int col, int row, int width, char *buf&);此函数返回文本的格式。对每一个参数,都要指定,如果不需要使用某参数,可以指定空值。它会检查屏幕中某行中的文本,并返回其格式,需要指定起始的坐标。并且要指定宽度。返回格式给参数*buf。如果指定宽度为-1,则此函数会读取某行中所有文本的格式。5.2.3TE_get_text_linechar * TE_get_text_line ( int col, int row, int width, char *text&);如果不需要使用某参数,可以指定空值。这个函数会复制指定的文本到参数中去。如果指定的宽度小于1,则返回整行。5.3游标函数5.3.1TE_get_cursor_posint TE_get_cursor_pos ( int *col, int *row&);返回屏幕上当前光标的位置。5.3.2TE_set_cursor_posint TE_set_cursor_pos( intcol, introw);设置屏幕上光标的位置。5.4输入函数5.4.1TE_typeint TE_type ( const char *string );发送一个字符串到屏幕上去。也包括操作键,比如:tab/enter等。另外,要了解此函数,还要了解字符映射。参考手册中的说明。5.5同步函数5.5.1TE_wait_syncint TE_wait_sync (void);TE_wait_sync函数仅用于同步块模式(IBM)终端。其他TE同步函数用于同步字符模式(VT)终端。TE_wait_sync函数用于同步操作块模式(IBM)终端的RTE Vuser。块模式终端显示“XSYSTEM”消息,表示系统处于禁止输入模式。当系统处于禁止输入模式时,将无法执行任何键入操作,因为终端仿真器正在等待从服务器传送数据。默认情况下,当你在块模式终端上录制脚本时,每次显示“X SYSTEM”消息时,VuGen都会生成TE_wait_sync函数并将其插入到该脚本中。你可以使用VuGen的录制选项指定VuGen是否应该自动插入TE_wait_sync函数。当运行Vuser脚本时,TE_wait_sync函数将检查系统是否处于X SYSTEM模式。如果系统处于X SYSTEM模式,则TE_wait_sync函数将暂停脚本执行。当“X SYSTEM”消息从屏幕上消失时,脚本将继续执行。同步超时可以在Run Time Settings里设置。5.5.2TE_wait_cursorint TE_wait_cursor ( int col, int row, int stable, int timeout&);VT类型终端首选的同步方法是光标同步。光标同步对全屏或窗体类型的应用程序而言特别有用,对于滚动式或TTY类型的应用程序则正好相反。光标同步使用TE_wait_cursor函数。当运行RTE Vuser脚本时,TE_wait_cursor函数将指示Vuser暂停脚本执行,直至光标出现在屏幕上的指定位置。光标出现在指定位置表示该应用程序准备好接收来自终端仿真器的下一个输入。在脚本执行期间,TE_wait_cursor函数将等待光标到达由col和row指定的位置。stable参数指定光标必须在指定位置停留的时间(以毫秒为单位)。如果你使用VuGen录制脚本,stable将被默认设置为100毫秒。如果客户端应用程序在timeout参数指定的时间内未达到稳定状态,则该函数将返回TIMEOUT。如果你使用VuGen录制脚本,则timeout将被默认设置为TIMEOUT,该值为90秒。你可以通过直接编辑所录制的脚本来更改stable和timeout参数的值。以下语句将等待光标保持稳定状态三秒钟。如果光标未能在10秒内达到稳定状态,则该函数将返回TIMEOUT。TE_wait_cursor (10, 24, 3000, 10);5.5.3TE_wait_textint TE_wait_text (
const char *pattern, int timeout [, int col1, int row1, int col2, int
row2, int *retcol, int *retrow, char *match ]&);你可以使用文本同步来同步在VT终端仿真器上运行的RTE Vuser。文本同步使用TE_wait_text函数。在脚本执行期间,TE_wait_text函数将暂停脚本执行,然后等到特定字符串出现在终端窗口中以后继续执行脚本。对于那些光标不能始终出现在预定义的屏幕区域中的应用程序而言,文本同步非常有用。其他同步函数。请参见函数参考。6RTE的错误代码以下代码可以使用TE_sperror and TE_perror转。错误代码返回代码名称含义操作成功忙。不合法的参数传递到此函数。超时。不合法的正则表达式传到此函数。终端模拟器出现通信问题。没有选择文本。会话中断。尝试设置只读属性。参数化错误。键盘锁定。无法连接到主机。7RTE协议编写总结对RTE协议来说,一定要关注同步。没有同步,就不可能运行起来,并且录制时要注意键盘被锁定的问题,需要用同步函数来解决。因为此协议依赖的是屏幕操作。因为RTE协议的键盘操作。所以不需要关联函数。当然,我们可以把TE_get_text_line当成关联函数来用。RTE协议的脚本运行出错时会把屏幕上所有的字符记录下来。以便查找原因。有处理传统的终端应用中,此协议还是非常不错的。当然它也有一些缺点。比如,因为它需要同步,所以它提供的压力就要小一些。这个问题,可以用大用户量来弥补。RTE协议比较占资源,当然对现在这种硬件资源来说,还是可以接受的。LR的RTE协议在工具中,还是非常有优势的。至少现在支持此协议的压力测试工具很少。查看: 364|回复: 7
loadrunner录制脚本时出现服务器正在运行中的弹框怎么解决
该用户从未签到
loadrunner录制脚本时出现服务器正在运行中的弹框怎么解决
本帖子中包含更多资源
才可以下载或查看,没有帐号?
TA的每日心情怒昨天&08:58签到天数: 81 天连续签到: 15 天[LV.6]测试旅长
是不是已经另外开启了进程了?
TA的每日心情衰昨天&13:04签到天数: 82 天连续签到: 82 天[LV.6]测试旅长
机器负载过高啦 ~
是不是直接关闭VuserGen,然后重新打开才报这个错。
估计是之前关闭时,有一个进程没有结束,还在运行。
以后得先正常退出 释放资源后再关闭VuserGen。
可以尝试打开资源管理器,果然看到有好几个LR的进程还在运行,强制结束进程后,重新打开VuserGen ,就不再报这个错了。
反正不单单是LR的问题,你有时用QTP也会这样,关键是资源进程过多,相互被限制、占用了~
慢慢来吧,别把PC当NB的机器人,人家会累的……
测试积点 +10
该用户从未签到
经常碰到,重启下就行了
该用户从未签到
经常碰到,重启下就行了
我这个只要一开始录制就会出现 重启没用啊
该用户从未签到
机器负载过高啦 ~
是不是直接关闭VuserGen,然后重新打开才报这个错。
估计是之前关闭时,有一个进程没有 ...
没有啊 我重启开机运行也会这样。。。
该用户从未签到
是不是已经另外开启了进程了?
没有啊 我重启后了 然后打开还是这样 照理说 我肯定没有开启了啊
该用户从未签到
我也遇到相同的问题,录制过程中弹出这个框,然后无法关闭,只能杀进程,不知道怎么处理啊,系统重启了也没用,一开始录制就弹出来
站长推荐 /2
Powered by查看: 4758|回复: 7
录制脚本后 生成脚本时出现服务器正在运行中
该用户从未签到
录制脚本后 生成脚本时出现服务器正在运行中
什么原因呀
本帖子中包含更多资源
才可以下载或查看,没有帐号?
该用户从未签到
检查下任务管理器是否打开了多个进程。
TA的每日心情慵懒昨天&15:50签到天数: 5 天连续签到: 1 天[LV.2]测试排长
这个问题与LR无关,其它程序有时也会有这样的问题
该用户从未签到
我也遇到这样的问题,但不知道怎么解决
该用户从未签到
重新配置电脑
该用户从未签到
到底这个要怎么解决,,,,hp virtual generator是这个进程的原因把,,我打开任务管理器,这个对应的进程是哪几个???、老是出现这个。。。
该用户从未签到
我也遇到了这个问题。
报这个错之前有报一个别的错误。我当时直接关闭VuserGen,然后重新打开,才报这个错。估计是之前关闭时,有一个进程没有结束,还在运行。
然后我关闭VuserGen,打开资源管理器,果然看到有好几个LR的进程还在运行,强制结束进程后,重新打开VuserGen ,就不再报这个错了。
该用户从未签到
压力机配置太低了吧,估计是系统资源不够
站长推荐 /2
Powered byloadrunner无法录制脚本,怎么办
loadrunner无法录制脚本,怎么办 20
我使用Loadrunner时,使用FTP/HTTP协议,录制时,IE可以正常打开
但是录制不到任何数据
以上方法均无法成功的情况下
检查防火墙个杀毒软件
关闭所有的网络监测
其他回答 (12)
1 关闭loadrunner和IE,在loadrunner的执行文件目录bin下找到文件register_vugen.bat,执行改文件,然后重启loadrunner,尝试录制。
2 IE设置可能有问题。IE的高级选项中有一个启用第三方浏览器扩展(需要重启),请不要选择改选项。
3 如果实在不行重装系统
呵呵,最后那个不是系统是重装软件~
请不要选择改选项
ANA安装最新Loadrunner
当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在VuGen的Recording Log中,您可以找到浏览器与服务器之间所有的对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。脚本和Recording Log最大的差别在于,脚本只记录了client端要对server端所说的话,而Recording Log则是完整纪录二者的对话。
当执行脚本时,您可以把VuGen想象成是一个演员,它伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话,再对网站伺服器重新说一遍,VuGen企图骗过服务器,让服务器以为它就是当初的浏览器,然后把网站内容传送给VuGen.所以纪录在脚本中要跟服务器所说的话,完全与当初录制时所说的一样,是写死的(hard-coded)。这样的作法在遇到有些比较聪明的服务器时,还是会失效。这时就需要透过「关联(correlation)」的做法来让VuGen可以再次成功地骗过服务器。
何谓关联(correlation)?
所谓的关联(correlation)就是把脚本中某些写死的(hard-coded)数据,转变成是撷取自服务器所送的、动态的、每次都不一样的数据。
举一个常见的例子,刚刚提到有些比较聪明的服务器,这些服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一个唯一的辨识码,接下来就会利用这个辨识码来辨识跟它要数据的是不是同一个浏览器。一般称这个辨识码为Session ID.对于每个新的交易,服务器都会产生新的Session ID给浏览器。这也就是为什么执行脚本会失败的原因,因为VuGen还是用旧的Session ID向服务器要数据,服务器会发现这个Session ID是失效的或是它根本不认识这个Session ID,当然就不会传送正确的网页数据给VuGen了。
下面的图示说明了这样的情形:当录制脚本时,浏览器送出网页A的请求,服务器将网页A的内容传送给浏览器,并且夹带了一个ID=123的数据,当浏览器再送出网页B的情求时,这时就要用到ID=123的数据,服务器才会认为这是合法的请求,并且把网页B的内容送回给浏览器。
在执行脚本时会发生什么状况?浏览器再送出网页B的请求时,用的还是当初录制的ID=123的数据,而不是用服务器新给的ID=456,整个脚本的执行就会失败。
要对付这种服务器,我们必须想办法找出这个Session ID到底是什么、位于何处,然后把它撷取下来,放到某个参数中,并且取代掉脚本中有用到Session ID的部份,这样就可以成功骗过服务器,正确地完成整个交易了。
哪些错误代表着我应该做关联(correlation)?
假如脚本需要关联(correlation),在还没做之前是不会执行通过的,也就是说会有错误讯息发生。不过,很不幸地,并没有任何特定的错误讯息是和关联(correlation)有关系的。会出现什么错误讯息,与系统实做的错误处理机制有关。错误讯息有可能会提醒您要重新登入,但是也有可能直接就显示HTTP 404的错误讯息。
要如何做关联(correlation)?
关联(correlation)函数关联(correlation)会用到下列的函数:web_reg_save_param:这是最新版,也是最常用来做关联(correlation)的函数。
语法:web_reg_save_param ( “Parameter Name” , , LAST );web_create_html_param、web_create_html_param_ex:这二个函数主要是保留作为向前兼容的目的的。建议使用 web_reg_save_param 函数。
详细用法请参考使用手册。在VuGen中点选「Help」>「Function reference」>「Contexts」>「Web and Wireless Vuser Functions」>「Correlation Functions」。
如何找出要关联(correlation)数据简单的说,每一次执行时都会变动的值,就有可能需要做关联(correlation)。
VuGen提供二种方式帮助您找出需要做关联(correlation)的值:自动关联手动关联自动关联VuGen内建自动关联引擎(auto-correlation engine),可以自动找出需要关联的值,并且自动使用关联函数建立关联。
自动关联提供下列二种机制:Rules Correlation:在录制过程中VuGen会根据订定的规则,实时自动找出要关联的值。规则来源有两种:内建(Built-in Correlation):VuGen已经针对常用的一些应用系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,内建关联规则,这些应用系统可能会有一种以上的关联规则。您可以在「Recording Options」>「Internet Protocol」>「Correlation」中启用关联规则,则当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。
您也可以在「Recording Options」>「Internet Protocol」>「Correlation」检视每个关联规则的定义。
使用者自订(User-defined Rules Correlation):除了内建的关联规则之外,使用者也可以自订关联规则。您可以在「Recording Options」>「Internet Protocol」>「Correlation」建立新的关联规则。
Correlation Studio:有别于Rules Correlation,Correlation Studio则是在执行脚本后才会建立关联,也就是说当录制完脚本后,脚本至少须被执行过一次,Correlation Studio才会作用。Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。
Rule Correlation请依照以下步骤使用Rule Correlation:启用auto-correlation点选VuGen的「Tools」>「Recording Options」,开启「Recording Options」对话窗口,选取「Internet Protocol」>「Correlation」,勾选「Enable correlation during recording」,以启用自动关联。
假如录制的应用系统属于内建关联规则的系统,如AribaBuyer、BlueMartini、BroadVision、InterStage、mySAP、NetDynamics、Oracle、PeopleSoft、Siebel、SilverJRunner等,请勾选相对应的应用系统。
或者也可以针对录制的应用系统加入新的关联规则,此即为使用者自订的关联规则。
设定当VuGen侦测到符合关联规则的数据时,要如何处理:「Issue a pop-up message and let me decide online」:跳出一个讯息对话窗口,询问您是否要建立关联。
「Perform correlation in sceipt」:直接自动建立关联录制脚本开始录制脚本,在录制过程中,当VuGen侦测到符合关联规则的数据时,会依照设定建立关联,您会在脚本中看到类似以下的脚本,此为BroadVision应用系统建立关联的例子,在脚本批注部分可以看到关联前的数据为何。
执行脚本验证关联是OK的。
Correlation Studio当录制的应用系统不属于VuGen预设支持的应用系统时,Rule Correlation可能既无法发挥作用,这时可以利用Correlation Studio来做关联。
Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。
使用Correlation Studio的步骤如下:录制脚本并执行执行完毕后,VuGen会跳出下面的「Scan Action for Correlation」窗口,询问您是否要扫描脚本并建立关联,按下「Yes」按钮。
参考资料:
使用Correlation Studio的步骤如下:录制脚本并执行执行完毕后,VuGen会跳出下面的「Scan Action for Correlation」窗口,询问您是否要扫描脚本并建立关联,按下「Yes」按钮。
里去了解一下吧!里面有有关的问题!
Loadrunner 不能录制脚本的解决方法
方法一:若果被测试系统在本机上,访问地址为: :端口/程序名称,需要将URL改为: http://localhost:端口/程序名称,这样就可以产生脚本了。这个现象我也觉得很奇怪,不知道到底为什么?但是,改成( http://localhost:端口/程序名称)的确可以产生脚本了,呵呵!
方法二:关闭loadrunner和IE,在loadrunner的执行文件目录bin下找到文件register_vugen.bat,执行改文件,然后重启loadrunner,尝试录制。
方法三:一种是IE设置可能有问题。IE的高级选项中有一个启用第三方浏览器扩展(需要重启),请不要选择改选项。
方法四:如果实在被逼无奈。请重装系统,重装loadrunner。
关闭loadrunner和IE,在loadrunner的执行文件目录bin下找到文件register_vugen.bat,执行改文件,然后重启loadrunner,尝试录制。
哇 说了这么多 我还能说什么呢
你可以到电脑里设置
相关知识等待您来回答
软件领域专家

我要回帖

更多关于 loadrunner脚本回放 的文章

 

随机推荐