LR中是支持js脚本的运行的,帮助文档中有详细的说明。搜索 Using the LoadRunner JavaScript Engine
就可以看到详细介绍。
主要说明如下:
1)在LR脚本中使用函数web_js_run()来运行javascript;
2)需要在运行脚本的设置中修改为可以允许运行js,默认是不允许的;
3)最好用web_js_reset来清理内存。
关于函数web_js_run()作一下简单说明,这个函数的基本使用方法帮助中写得挺详细的。可以1)直接在该函数中写js脚本,2)也可以调用一个.js的文件,3)还可以从网页中下载一个js文件来运行。
1)例子:web_js_run("Code= alert('Hello world');", LAST);
2)例子:注意的是调用.js文件时,该js文件的默认路径是从该LR脚本的目录下面查找。曾经试过把另外一个盘下的js文件完整路径写上也是报错的。
web_js_run( "Code=getEncNo()", "ResultParam=GetNo", SOURCES, "File=\\qq.js", ENDITEM, LAST);
这个例子就是调用LR脚本路径下名字叫qq.js的脚本中名字叫做getEncNo()的函数,注意反斜杠的转义符使用。函数结果的返回值赋给GetNo。这样可以在LR的脚本中使用GetNo的值。见下面的例子。
web_submit_data("htmlPrint.do",
"Action=http://.../fpx-label/print/htmlPrint.do", "Method=POST", .............. "Name=encipherment", "Value={GetNo}", ENDITEM, LAST);
在js的脚本中需要使用LR脚本中的参数时,读取的方法为 LR.getParam('ParamName');
js脚本中的LR.getParam()与LR中的函数lr_eval_string()作用是一样的。
例子:在js的文件中使用形如下面的语句
var trackNo = LR.getParam('GetTrackNo'); //其中GetTrackNo
和GetPriId都是LR中的参数名。
var priId = LR.getParam('GetPriId');
其实这些都可以在LR的帮助web_js_run()中找到详细的解释。这里只选择其中重要的部分记录。例如,如果是设置LR中参数的值则应在js脚本中应使用LR.setParam,它相当于LR中的函数lr_save_string()。
而要把网页中找到相应的js函数拷贝到自己的js文件中,除了顺藤摸瓜,记得注意的是现在的js文件一般都会使用jquery的js库。拷贝的时候记得要避免直接拷贝调用库中的函数,如果真的用,那只能把相关的库文件也拷贝过来。
关于jquery刚开始接触时一头暮水,后来查了一下,把它的一些基本介绍帖下来:
jQuery是一套Javascript脚本库. 在我的博客中可以找到”Javascript轻量级脚本库”系列文章. Javascript脚本库类似于.NET的类库, 我们将一些工具方法或对象方法封装在类库中, 方便用户使用.
jQuery是一套跨浏览器的JavaScript函式库,简化了HTML和JavaScript之间的操作.jQuery是开源软件,使用 MIT许可证授权 jQuery的语法设计使得许多操作变得容易,如操作文档对象(document)、选择文档对象模型(DOM)元素、创建动画效果、处理事件、以及开发 Ajax程序。jQuery也提供了给开发人员在其上创建插件的能力。这使开发人员可以对底层交互与动画、高级效果和高级主题化的组件进行抽象化。模块化 的方式使jQuery函数库能够创建功能强大的动态网页以及网络应用程序。
简单介绍: http://www.frontopen.com/345.html
jquery的官方网站http://jquery.com/
官方提供的学习文档
https://learn.jquery.com/about-jquery/how-jquery-works/
这里面简单说一个$,在这个库中使用了$,它类似shell脚本中的一些用法。
$,是指prototype定义的一类方法,$("id") 得到的是页面id为"id"的元素,相当于 document.getElementByIdx_x_x_x("id") 的快捷方式。
参考一些中文文档:
http://www.jb51.net/article/43538.htm
另外Prototype.js 是一个由Sam Stephenson写的JavaScript包。这是另外一个比较常用的js库。二者的区别:
1、JQuery使用更广泛些2、JQuery闭包性更好3、JQuery使用人员基数大,比较完善4、JQuery浏览器兼容性比较完善
两个js库的区别还可以参考这个文档 http://www.jb51.net/article/43538.htm
另外关于javascript的基本用法,可以参考这个文档:http://www.cnblogs.com/zysbk/archive/2012/09/24/2700385.html
此外,调试js文件的方法很简单,就是用记事本写一个html文件,在里面用形如下面的语句 script src="qq.js" type="text/javascript"
然后用firefox打开这个html文件,并打开firebug并启用firebug的控制台就可以看到脚本运行的错误和信息。