社区
C语言
帖子详情
如何写程序使得需要交互的程序自动完成交互。
joyself
2008-05-02 09:35:36
问题是这样的。
譬如有个程序a.out,运行后有些提示(不能直接后面跟参数,该程序我没有源码),假设:
[please input Yes or NO]:
[Please input a number]:
这里要输入 Yes 和 1,
不过我要重复测试这个程序的运行情况,譬如测个1000次, 大体意思就是这样的。
我想请问如何使得这个测试过程自动化,而不需要我每次去输入。
谢谢
...全文
120
8
打赏
收藏
如何写程序使得需要交互的程序自动完成交互。
问题是这样的。 譬如有个程序a.out,运行后有些提示(不能直接后面跟参数,该程序我没有源码),假设: [please input Yes or NO]: [Please input a number]: 这里要输入 Yes 和 1, 不过我要重复测试这个程序的运行情况,譬如测个1000次, 大体意思就是这样的。 我想请问如何使得这个测试过程自动化,而不需要我每次去输入。 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kingstarer
2008-05-03
打赏
举报
回复
用重定向和管道应该是可以实现的 只要输入的数字有规律
kingstarer
2008-05-03
打赏
举报
回复
文本里面的换行就相当于回车了
cceczjxy
2008-05-03
打赏
举报
回复
[Quote=引用 5 楼 joyself 的回复:]
引用 1 楼 brookmill 的回复:
1.
如果只运行一次,可以自己写一个文本文件tmp.txt,把需要输入的内容写进去:
Yes
1
然后 ./a.out < tmp.txt
2.
如果要运行1000次,而且每次输入的内容都一样,也很简单。
自己写一个shell脚本,调用"./a.out < tmp.txt"1000次就行了。
或者另外写个C程序,1000次循环system("./a.out < tmp.txt")
3.
如果要运行1000次,而且每次输入的内容不一样,就稍微麻烦一点…
[/Quote]
可以的
i=0
while [ $i -lt 1000 ]
do
./a.out <<EOF
$i
$i
<<EOF
i=`expr $i + 1 `
done
joyself
2008-05-03
打赏
举报
回复
[Quote=引用 1 楼 brookmill 的回复:]
1.
如果只运行一次,可以自己写一个文本文件tmp.txt,把需要输入的内容写进去:
Yes
1
然后 ./a.out < tmp.txt
2.
如果要运行1000次,而且每次输入的内容都一样,也很简单。
自己写一个shell脚本,调用"./a.out < tmp.txt"1000次就行了。
或者另外写个C程序,1000次循环system("./a.out < tmp.txt")
3.
如果要运行1000次,而且每次输入的内容不一样,就稍微麻烦一点。
我再想想
[/Quote]
我试了,不行阿,你试过可以吗? 输入一个选项后,后面的“回车”怎么在tmp.txt里体现?
kojie_chen
2008-05-02
打赏
举报
回复
学习
brookmill
2008-05-02
打赏
举报
回复
如果每次输入的内容不一样,可能可以这么办:
for (i=0; i<1000; i++)
{
fp = fopen("tmp.txt","w");
fprintf(fp, whatever);
fclose(fp);
system("./a.out < tmp.txt")
remove("tmp.txt");
}
michney
2008-05-02
打赏
举报
回复
自己写一个自动化测试的框架
读配置文件,读出输入的数据,和测试的次数
调用程序,传入参数,记录结果
brookmill
2008-05-02
打赏
举报
回复
1.
如果只运行一次,可以自己写一个文本文件tmp.txt,把需要输入的内容写进去:
Yes
1
然后 ./a.out < tmp.txt
2.
如果要运行1000次,而且每次输入的内容都一样,也很简单。
自己写一个shell脚本,调用"./a.out < tmp.txt"1000次就行了。
或者另外写个C程序,1000次循环system("./a.out < tmp.txt")
3.
如果要运行1000次,而且每次输入的内容不一样,就稍微麻烦一点。
我再想想
HTTP下载
程序
HTTP下载
程序
是基于MASM...汇编语言的使用使得
程序
对系统资源的控制更精细,但同时也增加了编程的复杂性和学习曲线。了解和分析这个
程序
的源代码,对于学习网络编程、汇编语言以及MASM32环境的使用具有一定的教育价值。
DOS系统原
程序
【DOS系统原
程序
】是计算机历史上的一个重要里程碑,它为个人计算机的操作系统奠定了基础。这个压缩包文件包含了DOS系统的原始源代码,包括C语言和汇编语言编
写
的部分,让我们有机会深入了解这个早期操作系统的工作...
MVC使用Knockout.JS实现的单页应用
程序
(SPA)1
Knockout.JS的核心功能包括数据绑定、依赖跟踪和订阅,使得UI与数据模型之间能
自动
保持同步。 **构建SPA的步骤** 1. **设置项目结构**:首先,创建一个ASP.NET MVC项目,并确保包含必要的视图、控制器和模型文件。...
WPF多线程演示
后台线程中的异常不会
自动
传递到主线程,因此
需要
在后台任务中妥善处理异常,并通过Dispatcher异常事件向UI线程报告。 综上所述,WPF多线程演示项目可能涵盖了如何在WPF应用中正确使用多线程、避免阻塞UI、利用...
visual c++6.0英文版
其中,代码编辑器支持语法高亮和
自动
完成
,极大地提高了编
写
代码的效率。而调试器则允许开发者对
程序
进行单步执行、设置断点、查看变量值等操作,有助于快速定位和解决问题。 其次,Visual C++6.0包含了MFC...
C语言
70,040
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章