51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3593|回复: 5
打印 上一主题 下一主题

[原创] loadrunner采用java vuser协议,运行报错.xml.parsers.FactoryConfigurationError

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-9-1 19:06:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
向大家请教个问题,我们要用loadrunner进行性能测试,采用的是java vuser协议。开发写好了jar包,而且开发的对他们写的jar写好了使用的例子。我们将jar包正确导入并写好了脚本.
CLASSPATH:.;C:\Program Files\Java\jdk1.5.0\bin;.\;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Java\jre1.5.0\lib;C:\Program Files\Mercury\LoadRunner\classes;C:\Program Files\Mercury\LoadRunner\lib
PATH:.;C:\Program Files\Java\jdk1.5.0\bin;%JAVA_HOME%\lib\tools.jar;C:\Program Files\Mercury\LoadRunner\bin;C:\Program Files\Java\jre1.5.0\bin;

脚本编译时日志中会打出下面的内容:
[main] WARN  JavaUtils : Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.可是功能执行的是正常的。
在运行场景中运行时总是报下面现条错误
1.Error: javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found
2.at javax.xml.parsers.DocumentBuilderFactory.newInstance(DocumentBuilderFactory.java:104)
        at org.apache.axis.utils.XMLUtils.getDOMFactory(XMLUtils.java:221)
        at org.apache.axis.utils.XMLUtils.<clinit>(XMLUtils.java:83)
        at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)
        at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
        at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)
        at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)
        at org.apache.axis.client.Service.getAxisClient(Service.java:104)
        at org.apache.axis.client.Service.<init>(Service.java:113)
        at com.leadtone.sme.autotests.ms.anhui.wsclient.MicroSoftBindManagerImplServiceLocator.<init>(MicroSoftBindManagerImplServiceLocator.java:12)
        at com.leadtone.sme.autotests.ms.anhui.AnhuiMockAdc.<clinit>(AnhuiMockAdc.java:34)
        at com.leadtone.sme.autotests.ms.anhui.AhClient.<clinit>(AhClient.java:29)
        at com.leadtone.sme.tp.Actions.action(Actions.java:28)
在网上找了很久也没有找到解决方案
大家能帮我分析一下这个错是为什么吗?


针对jar包开发写的使用例子
package com.leadtone.sme.tp;

import com.leadtone.sme.autotests.SiResponse;
import com.leadtone.sme.autotests.ms.anhui.AhClient;

public class AhPerformanceTest {
        public static void main(String[] args) {
                AhClient client = new AhClient();
               

                SiResponse response = client.corpOpen("wwp_tp_eccode34", "106587652345678", "AD_UFID_009",
                                "163.com", "0");
                System.out.println("resultcode: " + response.getResultCode());
                System.out.println("resultmsg: " + response.getResultMsg());
                System.out.println();
}
}


我们在loadrunner写的脚本如下:
package com.leadtone.sme.tp;
import lrapi.lr;
import com.leadtone.sme.autotests.SiResponse;
import com.leadtone.sme.autotests.ms.anhui.AhClient;

public class Actions
{
   

        public int init() {
           
               
                return 0;
        }//end of init


        public int action() {
           
            AhClient client = new AhClient();
           

               SiResponse response = client.corpOpen("ahcorp08301924", "123456789301924", "ahcorp08301924",
                                "ahcorp08301924.com", "1");
                System.out.println("resultcode: " + response.getResultCode());
                System.out.println("resultmsg: " + response.getResultMsg());
                System.out.println();
               
               
               
                return 0;
        }//end of action


        public int end() {
                return 0;
        }//end of end
}

[ 本帖最后由 janne09 于 2010-9-1 21:09 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-9-1 21:49:27 | 只看该作者
应该是还缺少一些依赖的jar包
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-9-2 08:28:39 | 只看该作者

回复 2# 的帖子

可是开发的在开发的环境上反复调试都是没有问题的
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-9-2 09:43:10 | 只看该作者

java vuser的错误

开发使用的环境变量或者环境,及LoadRunner使用java vuser的时候的环境变量可能有一些差别,建议可以按照提示在LoadRunner里面增加对应的jar包
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-9-2 11:16:15 | 只看该作者

loadrunner导入的jar包

loadrunner中导入的jar包是下面这个样子的,编译时提示缺少的两个jar包也导进来了,可是在运行场景中仍然报同样的错误


[ 本帖最后由 janne09 于 2010-9-2 11:19 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2010-9-2 14:34:09 | 只看该作者

回复 5# 的帖子

自己回复一下,问题解决了。
解决办法是这样的。
第一种办法:
run-time setting  miscellaneous multithreading 中选择 run vuser as a process
第二种办法:
public int init()方法中添加下面语句在controller的运行进程中,将线程的ContextClassLoader赋上值
Thread.currentThread().setContextClassLoader(ClassLoader.getSystemClassLoader());

另外说明一下:
1.脚本的路径一定要是英文的。
2.我将开发提供给我的jar包放到的脚本的目录下面,不知道在其他目录可不可以,没时间实验了。

[ 本帖最后由 janne09 于 2010-9-2 14:38 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-17 16:24 , Processed in 0.077465 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表