51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3335|回复: 2
打印 上一主题 下一主题

[Robot] 想调用由其他程序写的dll该怎么办?Robot是不能调用诸如C#等写的dll的。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-5-26 15:01:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想调用由其他程序写的dll该怎么办?Robot是不能调用诸如C#等写的dll的。
测试流程如下:
启动
调用C#写的dll中的数据库操作程序,载入测试数据(StartApplication,Arguments)
执行测试
恢复数据
关闭。
        解决方案:
        将要调用的dll包装到exe中,我使用的是vs2005。使用Environment.CommandLine 来获取命令行。取出参数,然后根据参数来调用dll中的功能。但是不能返回值。虽然有点麻烦,但毕竟可以用了。
实例代码:
Robot:
StartApplication "E:\zxb\Project\TestRobotDll\TestRobotExe\bin\Debug\TestRobotExe.exe ok"
C#:
        private void Form1_Load(object sender, EventArgs e)
        {
            this.Text = Environment.CommandLine;
            string strCommand = Environment.CommandLine;
            string[] strArgu = strCommand.Split(' ');
            if( strArgu.Length>1)
            {
                this.Text=strArgu[1];
//If I want to restore a table, I can set the table name as strArgu[1], then I call the dll's function
            }
        }
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-5-26 15:56:04 | 只看该作者
不明,楼主是否可以说清楚点?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-5-26 16:51:54 | 只看该作者
是这样的,我在测试的过程中需要操作数据库,我将测试数据保存到了xml文件中,做成了很多个。在测试过程中要根据每个不同的情况对应不同的xml文件。我在此之前做好了一个工具用来导入这些数据。由于各个表之间的关系非常复杂,所以导入的顺序等需要考虑。
最近才开始用robot,针对每个测试用例我需要初始化测试数据,也就是把xml文件中数据导回到数据库。我想用原来做好的工具,但是robot无法直接调用。
于是把原来的工具改了一下,让他接受命令行参数,根据参数来导入数据。在robot代码中用StartApplication调用导入数据的工具,加上参数。
说的不是太详细。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 01:14 , Processed in 0.074792 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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