honglong 发表于 2008-6-26 11:50:31

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:48

你要把那个类编译成.CLASS文件,然后放到你当前保存的这个脚本的根目录下,如果有PACKAGE路径的话,要在C脚本头中引入这个路径,反正最后要定位到你的那个CLASS所在的位置.

最后在ACTION中直接写入这个类里面的方法,就能引用了.

aks5201314 发表于 2008-6-26 17:38:49

把下载下来的CLASS文件拷贝到你的VUSER脚本目录里就可以在脚本中使用解码的方法了

honglong 发表于 2008-6-26 21:23:18

我用的web/html协议的,试了一下看来不行。转到java VUSER更惨,首先,class必须属于某一个包,然后运行时,环境变量总是提示错误:

Notify: Found jdk version: 1.6.0.       
Warning: Warning: Failed to find Classes.zip entry in Classpath.
       
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:02

这个问题不是CLASS类的问题,是你的JDK路径的设置问题,你什么类都不载入.
就打开一个空的JAVA VUSER直接运行看环境变量会不会报错.

fish_yy 发表于 2008-6-26 23:21:29

原帖由 jacksboy 于 2008-6-26 22:03 发表 http://bbs.51testing.com/images/common/back.gif
这个问题不是CLASS类的问题,是你的JDK路径的设置问题,你什么类都不载入.
就打开一个空的JAVA VUSER直接运行看环境变量会不会报错.


:handshake ,同意!

zibeike 发表于 2008-6-27 12:14:34

Notify: Found jdk version: 1.6.0.      
Warning: Warning: Failed to find Classes.zip entry in Classpath.
      
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:55

LR9以上应该是支持JDK6的,LR81是不是支持就不知道了,不过JDK 5应该是支持的

qicyt1812 发表于 2008-6-27 16:00:47

原帖由 zibeike 于 2008-6-27 12:14 发表 http://bbs.51testing.com/images/common/back.gif
Notify: Found jdk version: 1.6.0.      
Warning: Warning: Failed to find Classes.zip entry in Classpath.
      
Notify: classpath=c:\program files\mercury\ ...

我刚刚试了一下,空的Java Vuser脚本,编译都通不过,就报上面这个错误,我用的是LR8.0,jdk1.6 :Q 那是不是需要换成1.5啊

zhybing 发表于 2008-6-28 16:11:19

web协议LR好像只支持C语言编写的代码,不支持直接用JAVA写的代码,如果想这么做的话,只能把java的程序翻译成C代码实现。
注:选择录制web协议之后,可以从录制选项中看出web仅支持c语言。

jacksboy 发表于 2008-6-28 22:29:01

LR81建议用JDK 5

zibeike 发表于 2008-6-28 23:16:45

LR8.1的话,使用JAVA协议的脚本需要使用JDK为1.6版本以下的JDK,确实有遇到过这样的问题,JDK1.6的就会报"Notify: Found jdk version: 1.6.0."类似的错误,使用1.5就可以顺利通过了,当然前提是你的环境变量设置的没有问题

[ 本帖最后由 zibeike 于 2008-6-28 23:18 编辑 ]

aks5201314 发表于 2008-6-30 11:23:37

LR8.1 不支持JDK1.6,楼主安装一个JDK1.5的包再试一下.另外把你下载的解码的JAR包拷贝拷贝到c:\program files\mercury\loadrunner\classes下,如果下载的不是JAR包,最好把它打成JAR包.从出错信息看是解码包的CLASSPATH没有正确配置

qitengfeng 发表于 2008-6-30 20:39:42

LZ,换JDK1.5吧,我敢肯定8.1不支持JDK1.6
页: [1]
查看完整版本: loadrunner如何引入java代码?