LoadRunner中插入javascript脚本


最近在录制LR脚本时发现有个值是js运行的结果,会发送到服务器进行校验,该值是一连串js脚本的结果。所以必须在LR中使用js文件,call 这些函数。

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的控制台就可以看到脚本运行的错误和信息。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值