51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2624|回复: 5
打印 上一主题 下一主题

[原创] system()函数的用法

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2009-12-9 16:09:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用LR调用一个带参的系统外部命令
假设被调用的命令在cmd下的执行语句为 C:\Test.exe --username=abc --password=123 直接执行这条指令是能在数据库里留下登录记录的
现在我想用LR来调用它,脚本如下(我就用的一般的web/http协议的脚本,然后直接在action里写了如下一段):
Action()
{
    char command[1024];

    sprintf(command,"C:\Test.exe --username=abc --password=123" );

    system(command);   

    return 0;
}
然后回放一遍脚本,我想的是能够成功执行指令在数据库留下记录,然后我再参数化并发
结果回放后弹出一个cmd命令框然后瞬间消失(正常的执行是需要一定时间的),也没在数据库里留下记录

我想知道我是哪儿弄的不对?这个被调用的应用程序是用visual studio写的然后build出来的,所以不能用web/http协议么?
请知道的指点一下啊~~大谢!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2009-12-10 12:10:33 | 只看该作者
协议选的不对,web/http是对80端口的录制,而你的是C/S模式

应该选择客户端/服务器:MS SQL Server、ODBC、Oracle、DB2……,试试你数据库对应的协议

或者试试更底层的windows socket录制
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-12-11 17:40:44 | 只看该作者
本地的操作,跟协议没有关系
尝试将斜杠转义
sprintf(command,"C:\\Test.exe --username=abc --password=123" );
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2009-12-11 17:50:57 | 只看该作者
system(command);  这个命令是专用于c脚本里才有的吧,在别的协议里能运行么。
反正我在别的协议里一运行这个命令就报错,只有在c协议下才通过。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2009-12-11 18:28:32 | 只看该作者
在http协议里面是肯定可以运行的
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2009-12-13 11:03:45 | 只看该作者
Try C language

system("C:\\Test.exe --username=abc --password=123")
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-8 00:05 , Processed in 0.088815 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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