51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 3810|回复: 15
打印 上一主题 下一主题

在当前窗体打开.txt文本用什么函数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-6-20 15:52:01 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
各位赐教!!!!!!!!!!!!!!!!

脚本中执行在当前窗体自动打开.txt文本用什么函数??
是用ddt_open()函数吗??
保存和关闭是用ddt_save(),ddt_close()吗?
E_ok起 到什么作用,具体含义是什么?

ddt_open()和file_open (  )有什么区别吗?

脚本如下:

test = "D:\\winrunner script\\test.txt";
table = "D:\\winrunner script\\default.xls";
rc = ddt_open(table);
if(rc!=E_OK)
{
ddt_close(table);
pause("ERROR");
}

file_open (test,2);
set_window ("Shell_TrayWnd",3);
toolbar_button_press ("ToolbarWindow32_1","test.txt - 计事本");
type ("作者:MadDuck!"&"<kReturn>");
for(i=1;i<4;i++)
{
type(ddt_val_by_row(table,i,"user")&"<kTab>");
type(ddt_val_by_row(table,i,"pass")&"<kReturn>");
}
wait(1);
ddt_close(table);
file_close(test);

[ 本帖最后由 yemen126459 于 2007-6-20 17:32 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

16#
 楼主| 发表于 2007-6-21 18:19:07 | 只看该作者

回复 #15 lsy325 的帖子

哦,这样,那么如果我用invoke_application 打开的文件已经写入完内容,
我想保存的话,那么我用什么命令将其关闭并且保存呢?????

那ddt_open()又有什么优点呢,那只是提供数据源查询的功能吗?

[ 本帖最后由 yemen126459 于 2007-6-21 18:20 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-6-21 18:14:31 | 只看该作者
不知怎样说明,用file_open()打开的文件是没有界面可以查看到的,使用该命令打开文件后,可以使用下面的两个命令对文件进行读写操作。
file_getline ( file_name, out_line );读取文件下一行,并将其分配给一个变量
file_printf ( file_name, format, exp1 [ , exp2,... exp30 ] );按格式打印文件

例如:

file_open("E:\\test\\test1.txt",FO_MODE_READ);
file_open("E:\\test\\test2.txt",FO_MODE_WRITE);
i=0;
while(file_getline("E:\\test\\test1.txt",line)==0)
{
    i++;
    file_printf("E:\\test\\test2.txt","%d "&toupper(line),i);
}
file_close("E:\\test\\test1.txt");
file_close("E:\\test\\test2.txt");
回复 支持 反对

使用道具 举报

该用户从未签到

14#
 楼主| 发表于 2007-6-21 18:07:13 | 只看该作者

回复 #13 lsy325 的帖子

那file_open()到底有什么功能作用呢?

麻烦了~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-6-21 17:49:40 | 只看该作者
你现在是打开文件,不用设置上述的两个参数。
当你使用invoke_application 打开的是应用程序时,working_dir是指应用程序所在的目录。
使用invoke_application 打开的是应用程序时,working_dir不进行设置,可能会对程序的某些功能实现产生影响。
回复 支持 反对

使用道具 举报

该用户从未签到

12#
 楼主| 发表于 2007-6-21 17:16:31 | 只看该作者

回复 #11 way 的帖子

那command_option都有什么参数呢?
working_dir是指我存放脚本的目录还是winrunner程序所目录!!!

麻烦了~~
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-6-21 17:03:50 | 只看该作者
invoke_application("notepad","e:\\a2.txt","",SW_SHOW);

invoke_application ( file, command_option, working_dir, show );调用windows应用程序
file:应用程序的文件名,绝对路径;
command_option:应用程序的参数;
working_dir:应用程序工作路径;
show:程序运行时的显示模式;SW_SHOW,SW_SHOWMAXIMIZED,SW_SHOWMINNOACTIVE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL
另外一种参数解释:
四个参数分别是 调用程序所在路径,执行路径,执行的命令参数,窗口状态
回复 支持 反对

使用道具 举报

该用户从未签到

10#
 楼主| 发表于 2007-6-21 16:50:24 | 只看该作者

回复 #9 lsy325 的帖子

我现在采用的方法就是用Record打开当前文件脚本后执行;
我觉得这样很麻烦,如果多次调用的话....................
实在不好意思,能麻烦你举个实际 的例子我看一下里面的参数是怎么设置;
现在看帮助说明英文的,太迷茫了~~~~~~
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-6-21 16:35:58 | 只看该作者
只要能在当前窗体打开指定目录的文件就好了

一、invoke_application ( file, command_option, working_dir, show );
使用该命令是以文件的默认打开方式进行打开文件的,同你在操作系统下双击打开文件一样,如果双击文件能在你所说的当前窗口打开,那么使用该命令就可以了。
二、你所说的当前窗口中能否执行打开操作,能做的话,直接录制打开操作不就行了。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2007-6-21 15:53:57 | 只看该作者
谢谢你们的回复,可都不能解决我所想解决的~~~~
说简单一点,就是在当前窗体打开一个文件,有什么语句!
我现在运行file_open()语句不能打开文件,运行完什么反应没有,而系统也没报错!
只要能在当前窗体打开指定目录的文件就好了!!!!!
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-6-21 10:35:43 | 只看该作者
set_window ("Shell_TrayWnd",3);
toolbar_button_press ("ToolbarWindow32_1","test.txt - 计事本");
type ("作者:MadDuck!"&"<kReturn>");
for(i=1;i<4;i++)
{
type(ddt_val_by_row(table,i,"user")&"<kTab>");
type(ddt_val_by_row(table,i,"pass")&"<kReturn>");
}



看你这段写的,你录制的时候test.txt文件已经打开了。
你在使用type命令前少了一条语句,set_window ( window [,time] );指定窗口接受输入,并确定等待时间。
把"test.txt-记事本"窗口指定为接受输入,才能正确执行type命令,把字符串输入的记事本中。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-6-21 10:27:43 | 只看该作者
用file_open ( file_name, mode );打开的文件,要写入的话,是使用命令file_printf ( file_name, format, exp1 [ , exp2,... exp30 ] );按格式打印文件。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-6-21 10:05:59 | 只看该作者
ddt_open ( data_table_name [ , mode ] );打开或创建一个可以访问的数据表
file_open ( file_name, mode );打开或创建指定的文件:file_open("e:\\a1.txt",FO_MODE_READ);
打开记事本还有一种方法,直接调用:
invoke_application("notepad","","",SW_SHOW);

[ 本帖最后由 way 于 2007-6-21 10:07 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-6-20 17:20:47 | 只看该作者

回复 #2 shiwomyw 的帖子

test = "D:\\winrunner script\\test.txt";
table = "D:\\winrunner script\\default.xls";
rc = ddt_open(table);
if(rc!=E_OK)
{
ddt_close(table);
pause("ERROR");
}

file_open (test,2);
set_window ("Shell_TrayWnd",3);
toolbar_button_press ("ToolbarWindow32_1","test.txt - 计事本");
type ("作者:MadDuck!"&"<kReturn>");
for(i=1;i<4;i++)
{
type(ddt_val_by_row(table,i,"user")&"<kTab>");
type(ddt_val_by_row(table,i,"pass")&"<kReturn>");
}
wait(1);
ddt_close(table);
file_close(test);

改完脚本之后还是不行。

[ 本帖最后由 yemen126459 于 2007-6-20 17:29 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2007-6-20 16:46:46 | 只看该作者

回复 #2 shiwomyw 的帖子

那ddt_open()和file_open ( file_name, mode )有什么区别吗?
我帮助上写不是很清楚,麻烦帮忙解释下~
回复 支持 反对

使用道具 举报

该用户从未签到

2#
发表于 2007-6-20 16:38:47 | 只看该作者
使用"file_open ( file_name, mode );"这个函数,使用file_close();可以关闭并保存文件.
"E_OK"就是操作成功的意思.函数相关的使用可以看帮助.
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-9-25 17:21 , Processed in 0.074791 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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