51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3622|回复: 4
打印 上一主题 下一主题

请教SilkTest调用DLL的问题。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-9-22 16:25:42 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
公司现在想使用Silktest来做自动化测试。但是发现一个很棘手的问题。

是一个VC++的工程,其中有很多dll文件,现在发现SilkTest不能识别其中一些DLL中的输出函数,都是一些类的成员函数。
如果是象C中的普通函数,那没有任何问题,但是如果是类中的成员函数,就失败了,如果用DLL Export View来观察,发现下面这些外部符号名称。

?writeXMLFile@CArkPolicyXMLParser@@QAE_NPAVCArkPolicy@@PBGPAG@Z      
?writeTraceAndSetiReturn@CArkPolicyRule@@AAEXAAHIPAVCArkPolicyImplementedStrategy@@H@Z      
?writeToTrace@CArkPolicyRule@@AAEX_NPAPAVCArkPolicyVolumeInformation@@PAG220@Z      

我猜想应该是SilkTest不能识别这样的外部符号名称,外国同事告诉我应该把这个DLL包装成COM,再进行调用,可是我对怎么生成COM一窍不通,所以想请教一下,大家是怎么处理类似问题的。

本人新手,刚接触Silktest没几天,请大家能尽量说的详细点,谢谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2008-9-22 17:58:59 | 只看该作者
To: jmy_1981

那么你在使用SilkTest的过程中有没有碰到需要调用一个导出C++类的成员函数的DLL这样的情况呢?

如果有,该怎么解决呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2008-9-22 17:45:50 | 只看该作者
感谢回复!

看来没有一个简便的方法能把Extension Dll转换成Regular DLL, 但是如果和把这个DLL包装成COM来比较,那种方法更简单一点呢?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2008-9-22 17:38:07 | 只看该作者

lz感觉上要重写代码了……

如题。

lz可以去csdn这类专业的开发者论坛上看看,也许会有新发现。

lz要把mfc dll导成regular dll的话,
你要对:
1. CWinApp派生,重写。
2. DllMain,修改。
3. 如果DllMain调用AfxInitExtensionModule函数,必须检查该函数的返回值。  
4、如果输出CRuntimeClass类型的对象或者资源(Resources),则需要提供一个初始化函数来创建一个CDynLinkLibrary对象。   

感觉有些工作量的。

仅代表个人看法,希望有帮助。
回复 支持 反对

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2008-9-22 17:23:59 | 只看该作者
或者说有没有一种方法能够将MFC Extension DLL转换成标准的DLL?

我想如果可行的话, 问题就很容易解决了!
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-25 21:14 , Processed in 0.074882 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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