2006年10月24日

 
[原创]对脚本的建议(一.写给初涉LR的同仁们,关于调试)
作者:wss123
沉浮于LR很多天了,以前一直在WR分论坛漂。看到大家提出很多问题,不过发现大家的脚本大都已录制为主,而且经常有提出录制的脚本回放有问题,其实很多问题很好解决,LR提供了很多手段调试和优化我们的脚本。
1.设置断点
相信大家都不陌生,LR也是可以设置断点的,在需要设置断点的语句前按F9快
捷键,断点就设置好了,程序运行到断点语句后会暂停,这时我们可以用F10单步
调试程序.
2.打开EXtended Log
只是设置断点是不够的,我们还得知道具体发生了什么事情,Log告诉了我们一切,默认的Log是 standard Log,这时远远不够的.我们要extended log,打开路径
为runtime settings-->log-->extended log.把parameter substitution和data returned by server和advanced trace大家根据需要勾选吧.
3.注释掉多余的语句
很多回放时出错的脚本都是因为多余的语句.因为LR在录制的时候,LR生成的语
句很多不是我们想要的,这里结合几个网友的问题说说,曾有网友问:回放脚本的时
候socket出错,提示: Error : socket0 - Address already in use. Error code
: 10048.而且非常坚持说脚本不会有问题,因为脚本直接录制后回放,什么都没改,
是不会出错的.拿到脚本一看,有一条语句lrs_create_socket,建立了socket0,但
是之后没有任何socket0的语句,可以判断出 该语句是无效的,注释掉,问题解
决。所以大家不要过分相信LR了 ,它生成的语句也是有很多BUG的。
[原创]对脚本的建议(一.写给初涉LR的同仁们,关于调试) 【 续 】
作者:wss123
上次写了对LR脚本调试的建议,斑竹kernzhang给了很中肯的建议,告知对Log的叙述太潦草了。也许给朋友们理解带来了不便,这次冒昧地再说说Log吧,希望能够帮助初接触LR的朋友们。
/*上篇文章链接地址:
http://www.51testing.com/cgi-bin ... d=14087&fpage=1)*/
经常有朋友们问到,log文件在哪看,特别是controll执行后,怎么看log。这里一一说明一下:
(1)在vgen中,我们必须写输出函数输出信息,将我们所想要了解的信息用函数输出,主要有这么几个函数输出信息: lr_output_message,lr_error_message,lr_log_message。这些函数请参阅help-->function reference.
其次,我们要在runtime settings中设置,勾选always send messages,具体的做法是:runtime settings--->log-->always send messages,这样我们才能写出Log,在我们的脚本所在的文件夹中,有两个文件很重要, mdrv.log.txt和output.txt文件,lr_log_message只会把信息输到mdrv.log文件中,而lr_output_message则会写进以上两个文件。
(2)在controller中,很多朋友都会想知道多次迭代,参数是否正确的导入了呢,我们依旧查看log,我们在执行结束后,查看结果目录的Log文件夹,如果是负载生成器运行的话,则在tmp目录。 不过,还想提醒朋友们,在controller 我们也要设置runtime settings才行,而且每个用户组的runtime settings,设置的方法是:在controller的design标签页中,右下角的部分有runtime settings按钮,我们点击它,设置的方法与在vgen中一样的。

posted @ 2006-10-24 17:02 平安的工作学习笔记 阅读(1971) | 评论 (0)编辑 收藏

[原创]wr虚拟控件向导的使用和建议
作者:wss123(转载请注明作者)
相信朋友们都有因为wr不能识别部分控件而烦恼的经历吧,论坛里也经常有提问如何识别某某控件的各种声音,wr为可能出现的不能识别控件提供了一个识别工具,即虚拟控件向导。说白了,就是获取被测控件在显示二维平面的位置(x轴、Y轴)来唯一标识;小弟冒昧将自己在使用wr的虚拟控件向导的一些体会写下来,供大家参考和指正;
首先,还是啰嗦一下如何使用虚拟控件向导:可以从 tools--->virtual

object wizard 和 tools---->GUI Map Editor --->tools---->virtual object

wizard 两个路径运行向导,它提供的标准控件类别有:

check_button,list,object,push_button,radion_button,table;
向导提供了一个mark object 的功能,用于框选需要识别的控件。以下是我利用虚拟向导学习的一个按钮控件Gui的物理描述:
{
class: push_button,
virtual: TRUE,
x: 545,
y: 510,
width: 80,
height: 18,
rows: 1,
columns: 1
}
wr的学习Gui对象的原理就是要通过物理描述唯一标识Gui对象,这样在 脚本中

就能正确地指向被描述的控件。
说了这么多,该说说我在使用中遇到的不如意了 。
首先:移植性糟糕,在800*600像素15寸平面直角的显示学习的虚拟控件,在1024*760像素中就不能用了,因为物理描述中的x轴,y轴指向的肯定不是原来的控件(被测软件的界面不是固定大小的情况)
还有一种情况是被测软件提供了横向和纵向滚动条,您在学习虚拟Gui的时候拉动滚动条,在录制过程中又拉动滚动条,控件不能在两次拉动滚动条都出现在同一个位置

(当然如果可以在显示器上标识还是可以做到两次都出现在同一位置的可能)
综上所述,如果只是少部分的控件不能识别的话,建议使用虚拟控件向导,但是如
果很多的话,这样做是一个非常繁重的工作,还是去为wr加载插件来的妙些。

posted @ 2006-10-24 16:58 平安的工作学习笔记 阅读(279) | 评论 (0)编辑 收藏


仅列出标题  

posts - 2, comments - 0, trackbacks - 0, articles - 0

Copyright © 平安的工作学习笔记