51Testing软件测试论坛

标题: 用winrunner怎样实现自动运行应用程序的效果 [打印本页]

作者: xfhe0223    时间: 2006-5-28 12:48
标题: 用winrunner怎样实现自动运行应用程序的效果
我用DataDriver Wizard的方式录制了一个飞行航班预订系统登陆界面,在执行测试过程要不停的打开飞行航班软件,请问有什么方法其自动打开执行
作者: xihong2004    时间: 2006-5-28 13:57
invoke_application ( file, command_option, working_dir, show );调用windows应用程序
file:应用程序的文件名,绝对路径;
command_option:应用程序的参数;
working_dir:应用程序工作路径;
show:程序运行时的显示模式;
作者: xfhe0223    时间: 2006-5-28 16:16
谢谢!
我试一下
作者: xfhe0223    时间: 2006-5-28 16:47
if (invoke_application(app,"","E:\wr\samples\flight\app",SW_SHOW)!=0)# 如果程序不存在则退出测试

        {
        report_msg("要测试的程序不存在,测试退出。");# 返回一个提示信息
        texit;
        }
这是我写的程序,但是为什么它只能打开E盘,而不是我想要的打开flight1a的登陆界面。
作者: xfhe0223    时间: 2006-5-28 16:47
if (invoke_application(app,"","E:\wr\samples\flight\app",SW_SHOW)!=0)# 如果程序不存在则退出测试

        {
        report_msg("要测试的程序不存在,测试退出。");# 返回一个提示信息
        texit;
        }
这是我写的程序,但是为什么它只能打开E盘,而不是我想要的打开flight1a的登陆界面。
作者: 生如火花    时间: 2006-5-29 10:26
E:\wr\samples\flight\app 只是一个文件夹,要把exe文件也添全了
作者: xfhe0223    时间: 2006-5-29 20:04
if (invoke_application(app,"","E:\wr\samples\flight\app\flight1a",SW_SHOW)!=0)# 如果程序不存在则退出测试
        {
        report_msg("要测试的程序不存在,测试退出。");# 返回一个提示信息
        texit;
        }
我添全了,但是效果一样啊?
作者: 生如火花    时间: 2006-5-30 09:19
invoke_application(app,"","E:\wr\samples\flight\app\flight1a.exe
作者: xfhe0223    时间: 2006-5-30 11:09
还是一样啊!!
作者: 生如火花    时间: 2006-5-30 13:18
invoke_application("C:\\Program Files\\Mercury Interactive\\WinRunner\\samples\\flight\\app\\flight1a.exe","","",SW_SHOW);

[ 本帖最后由 生如火花 于 2006-5-30 13:43 编辑 ]
作者: xfhe0223    时间: 2006-5-30 13:42
斑竹,问题依旧啊!
会不会是其他地方有问题:下面是我录制的脚本;我对WR不是很熟版主帮我看一下
table = "flight1a.xls";
rc = ddt_open(table, DDT_MODE_READ);
if (rc!= E_OK && rc != E_FILE_OPEN)
        pause("Cannot open table.");
ddt_get_row_count(table,table_RowCount);
for(table_Row = 1; table_Row <= table_RowCount; table_Row ++)
{
   ddt_set_row(table,table_Row);
       
if (invoke_application("","","E:\wr\samples\flight\app\flight1a.exe",SW_SHOW)!=0)# 如果程序不存在则退出测试
        {
        report_msg("要测试的程序不存在,测试退出。");# 返回一个提示信息
        texit;
        }
       
        # Login
                set_window ("Login", 8);
                edit_set ("Agent Name:", ddt_val(table,"Agent_num"));
                password_edit_set("Password:", ddt_val(table,"Password"));
                button_press ("OK");
       
       
}
ddt_close(table);
作者: 快乐逍遥    时间: 2006-5-30 13:52
看一下帮助啦,楼上的兄弟
invoke_application ( file, command_option, working_dir, show );
版主大哥都把例子写得很详细了
原帖由 生如火花 于 2006-5-30 13:18 发表
invoke_application("C:\\Program Files\\Mercury Interactive\\WinRunner\\samples\\flight\\app\\flight1a.exe","","",SW_SHOW);

作者: xfhe0223    时间: 2006-5-30 15:01
谢谢,楼上的,也谢谢斑竹和xihong2004。
我刚接触WR,对TSL也不熟。看help也是一知半解。谢谢各位不厌其烦的帮我。
努力ing
作者: 小小柠檬    时间: 2006-5-30 17:09
你的问题解决了吧,呵呵
主要是你的路径输入方式写错啦,在wr里不用"\"要用"\\".
注意:E:\wr\samples\flight\app\flight1a.exe 要改为E:\\wr\\samples\\flight\\app\\flight1a.exe
作者: 重新开赌    时间: 2006-5-30 17:47
反斜杠需要用转意符表示,比如你在字符串里面有"\",必须用"\\"表示,这样就解决你的问题了。
作者: xfhe0223    时间: 2006-5-30 20:38
谢谢
作者: xfhe0223    时间: 2006-5-30 20:59
非常感谢
作者: 生如火花    时间: 2006-5-31 10:54
其实最简单的方法是按F7使用函数生成器
作者: xfhe0223    时间: 2006-6-1 21:21
我才疏学浅,斑竹能不能说具体一点?




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