51Testing软件测试论坛

标题: loadrunner如何引入java代码? [打印本页]

作者: honglong    时间: 2008-6-26 11:50
标题: loadrunner如何引入java代码?
我录制了一段脚本如下 :  其中Body的内容是一段用java base64加密过的信息,这样就无法对Body中的信息进行参数化,我的想法是:
1、找到解码程序,对加密的信息进行解码;
2、进行信息参数化;
3、进行信息加密,再传输;
我在网上找到了java base64的解码程序,并且测试通过,解码的结果与想要得到的信息一直。问题如何才能把这些java代码进入到loadrunner中来哪?

请各位帮忙看看 !

        web_custom_request("PDProxy_15",
                "URL=http://10.0.0.11:9080/.....",
                "Method=POST",
                "Resource=0",
                "RecContentType=text/html",
                   "Referer=http://10.0.0.11:9080/....",
                "Snapshot=t30.inf",
                "Mode=HTML",
                "EncType=",
                "Body=PD94bWwgdmVyc2lvbj0iMS4.......",
                LAST);
作者: jacksboy    时间: 2008-6-26 14:02
你要把那个类编译成.CLASS文件,然后放到你当前保存的这个脚本的根目录下,如果有PACKAGE路径的话,要在C脚本头中引入这个路径,反正最后要定位到你的那个CLASS所在的位置.

最后在ACTION中直接写入这个类里面的方法,就能引用了.
作者: aks5201314    时间: 2008-6-26 17:38
把下载下来的CLASS文件拷贝到你的VUSER脚本目录里就可以在脚本中使用解码的方法了
作者: honglong    时间: 2008-6-26 21:23
我用的web/html协议的,试了一下看来不行。转到java VUSER更惨,首先,class必须属于某一个包,然后运行时,环境变量总是提示错误:

Notify: Found jdk version: 1.6.0.        [MsgId: MMSG-22986]
Warning: Warning: Failed to find Classes.zip entry in Classpath.
        [MsgId: MWAR-22986]
Notify: classpath=c:\program files\mercury\loadrunner\classes\srv;c:\program files\mercury\loadrunner\classes;C:\Program Files\Java\jdk1.6.0_06\lib;;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1

论坛里也有兄弟发过帖子,但是找房抓药,还是不行。那位大侠指点一下吧。
1、web/html 是不是 能调用java 的class ,调用的方法是什么 ?
2、loadrunner java VUSER的java 环境变量 默认是存储在哪里的?
谢谢了 !
作者: jacksboy    时间: 2008-6-26 22:03
这个问题不是CLASS类的问题,是你的JDK路径的设置问题,你什么类都不载入.
就打开一个空的JAVA VUSER直接运行看环境变量会不会报错.
作者: fish_yy    时间: 2008-6-26 23:21
原帖由 jacksboy 于 2008-6-26 22:03 发表
这个问题不是CLASS类的问题,是你的JDK路径的设置问题,你什么类都不载入.
就打开一个空的JAVA VUSER直接运行看环境变量会不会报错.



,同意!
作者: zibeike    时间: 2008-6-27 12:14
Notify: Found jdk version: 1.6.0.        [MsgId: MMSG-22986]
Warning: Warning: Failed to find Classes.zip entry in Classpath.
        [MsgId: MWAR-22986]
Notify: classpath=c:\program files\mercury\loadrunner\classes\srv;c:\program files\mercury\loadrunner\classes;C:\Program Files\Java\jdk1.6.0_06\lib;;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1\Mercury\LOADRU~1\bin\;C:\PROGRA~1


这个错误好象是java的JDK版本问题,LR似乎不支持1.6的JDK版本.
作者: jacksboy    时间: 2008-6-27 13:40
LR9以上应该是支持JDK6的,LR81是不是支持就不知道了,不过JDK 5应该是支持的
作者: qicyt1812    时间: 2008-6-27 16:00
原帖由 zibeike 于 2008-6-27 12:14 发表
Notify: Found jdk version: 1.6.0.        [MsgId: MMSG-22986]
Warning: Warning: Failed to find Classes.zip entry in Classpath.
        [MsgId: MWAR-22986]
Notify: classpath=c:\program files\mercury\ ...


我刚刚试了一下,空的Java Vuser脚本,编译都通不过,就报上面这个错误,我用的是LR8.0,jdk1.6 那是不是需要换成1.5啊
作者: zhybing    时间: 2008-6-28 16:11
web协议LR好像只支持C语言编写的代码,不支持直接用JAVA写的代码,如果想这么做的话,只能把java的程序翻译成C代码实现。
注:选择录制web协议之后,可以从录制选项中看出web仅支持c语言。
作者: jacksboy    时间: 2008-6-28 22:29
LR81建议用JDK 5
作者: zibeike    时间: 2008-6-28 23:16
LR8.1的话,使用JAVA协议的脚本需要使用JDK为1.6版本以下的JDK,确实有遇到过这样的问题,JDK1.6的就会报"Notify: Found jdk version: 1.6.0.[MsgId: MMSG-22986]"类似的错误,使用1.5就可以顺利通过了,当然前提是你的环境变量设置的没有问题

[ 本帖最后由 zibeike 于 2008-6-28 23:18 编辑 ]
作者: aks5201314    时间: 2008-6-30 11:23
LR8.1 不支持JDK1.6,楼主安装一个JDK1.5的包再试一下.另外把你下载的解码的JAR包拷贝拷贝到c:\program files\mercury\loadrunner\classes下,如果下载的不是JAR包,最好把它打成JAR包.从出错信息看是解码包的CLASSPATH没有正确配置
作者: qitengfeng    时间: 2008-6-30 20:39
LZ,换JDK1.5吧,我敢肯定8.1不支持JDK1.6




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2