关于基于C Vuser的LoadRunner脚本
LoadRunner支持基于C Vuser的脚本,但是我在使用过程中,发现一个问题:脚本中无法#include自己的头文件。如果只是写一些简单的c代码,是没有问题的,包括lr_load_dll你自己的dll,然后调用dll里提供的api做各种操作。但是实际情况往往要复杂,比如:你想调用被测系统提供的dll,这个dll有一个头文件,需要包含这个.h文件,而这个.h文件里,可能又#include了其他头文件,这个时候,LR编辑脚本的时候就会报错,输出诸如这样的错误信息:xxx.h: No such file or directory。
不知道各位朋友是怎么处理这种情况的?有什么解决的方法吗?我一直没有找到可行的办法。如果是这种情况,LoadRunner支持基于C Vuser脚本这个功能,等于没有任何实际意义。
[ 本帖最后由 qiuyangzh 于 2009-7-8 17:05 编辑 ]
回复 1# 的帖子
VS编写C++时 有时候需要把*.lib 包含进整个项目中如果不包括,即使加了头文件也通不过编译 谢谢shanxi。
你说的是静态编译连接的方式,是需要加入lib文件。
但是动态加载dll,不需要lib文件,只要包含了头文件,加载后调用dll里的接口即可。 原帖由 qiuyangzh 于 2009-7-8 17:46 发表 http://bbs.51testing.com/images/common/back.gif
你说的是静态编译连接的方式,是需要加入lib文件。
不是
我最早碰到这个情况是进行directx开发的时候,当时安装了directx sdk,引入头文件仍然找不到,最后在项目include里面添加对应*.lib才成功
还有一个例子,就是进行socket编程时,需要引入ws2_32.lib(名字可能有误)才能编程成功:
由于使用了WinSock库中的函数,所以需要添加相应的.lib文件:ws2_32.lib。打开VS2008 SP1项目属性,在Configuration Properties下选Linker->Input,在Additional Dependencies里添加该文件。
谢谢shanxi的解释。
目前LR报告的这个问题,我确定不是lib文件的问题,而且LR也没有让你设置lib文件的地方。
回复 5# 的帖子
你可以去msdn查阅 pragma 宏同样的效果 我无语了
回复 7# 的帖子
也不明白你上面无语啥意思,好人做到底吧试试这里面(http://motevich.blogspot.com/2008/05/examples-on-loadrunner-regular.html)的:
Сomment out the include for stdlib.h file in:
C:\pcre\include\pcre.h
C:\pcre\include\pcreposix.h
嘿 7楼的
我上楼给的方法你用的怎么样了? 谢谢shanxi的多次回复,非常感谢!我现在使用的办法就是自己把头文件处理一遍再提供给LR使用,我发这个帖子是想知道是不是有更好的办法,因为每次这样修改太麻烦了,而且如果遇到一些复杂的头文件,可能就没有办法处理。
难道LR对C就这样支持?我非常费解。我原来查过一些资料,说遇到这种情况可以把头文件发给LR公司,他们给处理一下,估计也是这样的过程吧。不知道LR公司对这个问题是否有公开的资料。 网上说
LoadRunner 只支持ANSI C:
The C Interpreter used by LoadRunner accepts the ANSI C language. No
Microsoft extensions to ANSI C are supported.
页:
[1]