51Testing软件测试论坛

标题: ***急哭了!请教高手,脚本录制C++编写的工具后再编译时出现错误,寻求大家帮助*** [打印本页]

作者: duni216    时间: 2008-12-28 16:17
标题: ***急哭了!请教高手,脚本录制C++编写的工具后再编译时出现错误,寻求大家帮助***
请教各位高手个问题:
我在使用LR8.0录制一个使用C++编写的工具的脚本,录制完成之后再点击VUG上的编译按钮,会提示我有很多错误。录制时不知道该选取的协议是什么,选择其他协议都不能录制上脚本,只有选择com/dcom就内容,就选择了此项协议。
录制完编译错误如下:
Action.c (219): undeclared identifier `error'
Action.c (219): syntax error; found `!' expecting `)'
Action.c (219): syntax error; found `!' expecting `;'
Action.c (219): undeclared identifier `not'
Action.c (219): syntax error; found `found' expecting `;'
Action.c (219): undeclared identifier `found'
Action.c (219): syntax error; found `pid' expecting `;'
Action.c (219): syntax error; found `interface' expecting `;'
Action.c (219): undeclared identifier `interface'
Action.c (219): syntax error; found `pointer' expecting `;'
Action.c (219): undeclared identifier `pointer'
Action.c (219): syntax error; found `address' expecting `;'
Action.c (219): `025A9A08' is a preprocessing number but an invalid integer constant
Action.c (219): syntax error; found `)' expecting `;'
Action.c (219): illegal statement termination
Action.c (219): skipping `)'
Action.c (647): syntax error; found `!' expecting `)'
Action.c (647): syntax error; found `!' expecting `;'
Action.c (647): syntax error; found `found' expecting `;'
Action.c (647): syntax error; found `pid' expecting `;'
Action.c (647): too many errors

查找此提示行,显示刚才录制的有错误的语句为:
lrc_Release_Object((IUnknown*)error! not found pid: 3152 interface pointer address: 025A9A08);
其他错误行也均为类似这个函数lrc_Release_Object的问题,只是指针地址不一样而已。这个错误貌似其中有个控件不能正常release,找不到其ID了,请问这样的错误如何解决呢?在这个过程中都是录制的脚本,个人没有添加任何信息,非常困惑,请高手指点。
非常感谢!

[ 本帖最后由 duni216 于 2008-12-28 20:46 编辑 ]
作者: duni216    时间: 2008-12-28 20:14
可怜周日加班,大虾们都出去玩了,看来是等不到结果了。再补充一个问题:
使用LR测试我有点不太明白,我是在我本机使用LR测试模拟多个用户,但是如何查看服务器端的性能数据呢?在监视器中我能成功添加本机的IP显示监视的资源,对我想要观察的访问的服务器就不知道该如何操作了,请高手指点一下,呜呜呜…… 困惑,迷茫,稀里糊涂……
作者: saharaqs    时间: 2008-12-29 00:40
同是周日加班的,握握爪

关于第一个问题,是不是脚本里出现了一些乱码,导致一些语句的)和“都丢失了阿

第二个问题,查看服务器和查看本机一样添加ip就可以了
作者: duni216    时间: 2008-12-29 08:54
回saharaqs:
谢谢你的回答,但是第一个问题中出错的地方是没有乱码的,出错行的内容为:
lrc_Release_Object((IUnknown*)error! not found pid: 3152 interface pointer address: 025A9A08);
上下文相关代码摘取了如下:
        {
                BSTR Name = lrc_BSTR("Reserved");
                int Type = lrc_int("8");
                int Direction = lrc_int("1");
                long Size = lrc_long("0");
                VARIANT Value = lrc_variant_BSTR("");
                lrc_Command25_CreateParameter(Command25_9, Name, Type, Direction, Size, Value, (_Parameter**)&_Parameter_189, CHECK_HRES);
        }

        {
                lrc_Command25_get_Parameters(Command25_9, (Parameters**)&Parameters_9, CHECK_HRES);
        }

        lrc_Release_Object((IUnknown*)Parameters_9);

        lrc_Release_Object((IUnknown*)_Parameter_189);

        {
                IDispatch * Object = (IDispatch*)_Parameter_189;
                lrc_Parameters_Append(Parameters_9, Object, CHECK_HRES);
        }

        lrc_Release_Object((IUnknown*)Command25_9);

        lrc_Release_Object((IUnknown*)error! not found pid: 2360 interface pointer address: 0246A388);

        {
                VARIANT * Parameters = NULL;
                long Options = lrc_long("1");
                VARIANT * RecordsAffected = NULL;
                lrc_Command25_Execute(Command25_9, RecordsAffected, Parameters, Options, (_Recordset**)&_Recordset_11, CHECK_HRES);
                //RecordsAffected returned with value NULL
        }
第二个问题:添加服务器的总是提示我连接失败,是不是服务器端也要安装LR呢?
作者: test7    时间: 2008-12-29 10:13
服务器不用安装LR,如果是linux,UNIX你需要在服务器上安装rstatd服务,如果是windows服务器,你需要把那两个R开头的服务打开,并保证可以在client端连到服务器,有管理员权限
作者: duni216    时间: 2008-12-29 10:37
请教test7:
首先,非常感谢。
我是新手,问题引出一堆问题,不懂两个R开头的服务是什么?在哪里看呢?
另外,我在客户端可以连接到服务器,但是在LR中连接是不需要输入用户名和密码的,如何保证是管理员的身份呢?郁闷,郁闷,不懂啊~~~
还有上面编译错误的问题你有遇到过吗?
作者: saharaqs    时间: 2008-12-29 11:15
首先保证被监视的windows系统开启以下二个服务Remote Procedure Call(RPC) 和Remote Registry Service (这里具体在那里开起服务就不说了)。
         被监视的WINDOWS机器:右击我的电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹,(要是没有自己手动加)。
         然后保证在安装LR的机器上使用运行.输入\\被监视机器IP\C$ 然后输入管理员帐号和密码,如果能看到被监视机器的C盘了,就说明你得到了那台机器的管理员权限,可以使用LR去连接了。
         说明: LR要连接WINDOWS机器进行监视貌似要有管理员帐号和密码才行。
作者: duni216    时间: 2008-12-29 15:16
非常感谢saharaqs,弱弱的再问一下,右击我的电脑,选择管理->共享文件夹->共享 在这里面要有C$这个共享文件夹,(要是没有自己手动加)。
我的服务器电脑中这个东西是没有的,如何手动添加呢?
作者: duni216    时间: 2008-12-29 17:30
非常非常感谢saharaqs,无以言表的感谢,可以成功查看服务器的资源信息了!
不过脚本回放的问题依旧存在,呜呜……
作者: 天空下下雨    时间: 2008-12-29 20:46
你用的是com/DCOM协议,这个协议录制脚本会出现许多无用的代码。你的问题我遇到过,直接删了就是,这个语句没什么大用.
作者: duni216    时间: 2008-12-30 08:52
感谢“天空下下雨”!
那再请问下您,使用C++语言写的这个工具是应该使用这种协议来录制的吗?开始我也不清楚,我也是一个个协议试的,用这个路才有内容在action中生成,但是也不知道是否应该用这个。
作者: xxdd1212    时间: 2008-12-30 09:56
帮顶下啦,大家都来看看吧
作者: zys3497    时间: 2009-1-4 13:20
标题: 请先确定客户端与服务器的通讯协议
你们的系统架构是两层的,还是三层的,这个你要清楚,如果有中间件,中间件是什么,这个你都要弄明白
作者: fei520wen    时间: 2013-3-21 14:28
你用的是com/DCOM协议,这个协议录制脚本会出现许多无用的代码。你的问题我遇到过,直接删了就是,这个语句 ...
天空下下雨 发表于 2008-12-29 20:46



    请问大虾,这个怎么解决?您有QQ吗?请加我QQ:179282326,有些问题想咨询请教您
作者: milk3547    时间: 2014-7-22 18:44
我也遇到这个问题了,哪位大神能够帮忙解决下啊!




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