51Testing软件测试论坛

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

作者: xinbin1122    时间: 2006-5-26 15:01
标题: 想调用由其他程序写的dll该怎么办?Robot是不能调用诸如C#等写的dll的。
想调用由其他程序写的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
            }
        }
作者: ilovejolly    时间: 2006-5-26 15:56
不明,楼主是否可以说清楚点?
作者: xinbin1122    时间: 2006-5-26 16:51
是这样的,我在测试的过程中需要操作数据库,我将测试数据保存到了xml文件中,做成了很多个。在测试过程中要根据每个不同的情况对应不同的xml文件。我在此之前做好了一个工具用来导入这些数据。由于各个表之间的关系非常复杂,所以导入的顺序等需要考虑。
最近才开始用robot,针对每个测试用例我需要初始化测试数据,也就是把xml文件中数据导回到数据库。我想用原来做好的工具,但是robot无法直接调用。
于是把原来的工具改了一下,让他接受命令行参数,根据参数来导入数据。在robot代码中用StartApplication调用导入数据的工具,加上参数。
说的不是太详细。




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