广交好友~~ 想要讨论的可以留下msn~~~ 希望群友网友经常能提出问题,一起解决,共同提高

QTP的dll调用

上一篇 / 下一篇  2010-04-30 15:32:32 / 个人分类:QTP

关于DLL文件:

DLL严格意义上说 dll 是微软的 私有格式, 不是 C/C++标准中的, 也无法跨平台的。

其中作用为实现可重复性代码的集合和exe没有本质区别,很难被反编译,因此,即使有了dll文件,仍然不能看到里面具体写了什么,当然现在有很多工具,能逐步识别dll文件的反编译汇编语言

dll工程里面有个dllmain文件,相当于exe文件,但是dll文件不能单独运行,此main文件里面有入口参数,主要作用是机器判断是线呈还是进程,就是一个空壳,和程序员无关,switch ul reason for attach这个值。

test.h文件里主要写具体此函数是做什么的。原理上可以是任何语言

qtp或者lr调用都可

  QTP拥有自己的.NET Factory接口,以调用.NET生成的DLL,也可以使用Extern.Declare来进行外部的DLL的访问。

  语法:

  Extern.Declare(RetType, MethodName, LibName, Alias [, ArgType(s)])

  参数说明:

  RetType: 方法返回值的类型。

  MethodName:调用DLL文件中的某个方法的方法名。

  LibName: DLL文件名。

  Alias: 别名,当别名为空时,方法名和别名一样(此参数通常为空)。

  ArgType(s): 传入的参数。

当然,要放在测试脚本路径下,文件,Action中使用如上语法就可以调用了

LR也一样LR_load_dll(testdll.dll)就可以调用了

当然还需要配置dat文件/dat directory之下将最后一行改为dll名称
将winnt_dll属性改为testdll.dll







TAG:

Plight 引用 删除 iseedeadpeople   /   2010-04-30 16:47:27
完全自己理解写的,小爱提问~~我解答的
 

评分:0

我来说两句

Open Toolbar