51Testing软件测试论坛

标题: 关于基于C Vuser的LoadRunner脚本 [打印本页]

作者: qiuyangzh    时间: 2009-7-8 17:02
标题: 关于基于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 编辑 ]
作者: shanxi    时间: 2009-7-8 17:18
标题: 回复 1# 的帖子
VS编写C++时 有时候需要把*.lib 包含进整个项目中
如果不包括,即使加了头文件也通不过编译
作者: qiuyangzh    时间: 2009-7-8 17:46
谢谢shanxi。
你说的是静态编译连接的方式,是需要加入lib文件。
但是动态加载dll,不需要lib文件,只要包含了头文件,加载后调用dll里的接口即可。
作者: shanxi    时间: 2009-7-8 18:18
原帖由 qiuyangzh 于 2009-7-8 17:46 发表
你说的是静态编译连接的方式,是需要加入lib文件。


不是

我最早碰到这个情况是进行directx开发的时候,当时安装了directx sdk,引入头文件仍然找不到,最后在项目include里面添加对应*.lib才成功

还有一个例子,就是进行socket编程时,需要引入ws2_32.lib(名字可能有误)才能编程成功:

由于使用了WinSock库中的函数,所以需要添加相应的.lib文件:ws2_32.lib。打开VS2008 SP1项目属性,在Configuration Properties下选Linker->Input,在Additional Dependencies里添加该文件。

作者: qiuyangzh    时间: 2009-7-9 09:41
谢谢shanxi的解释。
目前LR报告的这个问题,我确定不是lib文件的问题,而且LR也没有让你设置lib文件的地方。
作者: shanxi    时间: 2009-7-9 10:54
标题: 回复 5# 的帖子
你可以去msdn查阅 pragma 宏
同样的效果
作者: qiuyangzh    时间: 2009-7-9 15:34
我无语了
作者: shanxi    时间: 2009-7-9 16:12
标题: 回复 7# 的帖子
也不明白你上面无语啥意思,好人做到底吧

试试这里面(http://motevich.blogspot.com/200 ... runner-regular.html)的:
Сomment out the include for stdlib.h file in:
C:\pcre\include\pcre.h
C:\pcre\include\pcreposix.h
作者: shanxi    时间: 2009-7-10 11:25
标题: 嘿 7楼的
我上楼给的方法你用的怎么样了?
作者: qiuyangzh    时间: 2009-7-13 10:03
谢谢shanxi的多次回复,非常感谢!
我现在使用的办法就是自己把头文件处理一遍再提供给LR使用,我发这个帖子是想知道是不是有更好的办法,因为每次这样修改太麻烦了,而且如果遇到一些复杂的头文件,可能就没有办法处理。
难道LR对C就这样支持?我非常费解。我原来查过一些资料,说遇到这种情况可以把头文件发给LR公司,他们给处理一下,估计也是这样的过程吧。不知道LR公司对这个问题是否有公开的资料。
作者: shanxi    时间: 2009-7-13 12:24
网上说
LoadRunner 只支持ANSI C:
The C Interpreter used by LoadRunner accepts the ANSI C language. No
Microsoft extensions to ANSI C are supported.




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