51Testing软件测试论坛

标题: 我想得到测试用例的路径,用函数getvar()怎么不可以呢? [打印本页]

作者: lanxn    时间: 2004-10-27 09:46
标题: 我想得到测试用例的路径,用函数getvar()怎么不可以呢?
语句:static test_Path = getvar("user_record");  

提示:d:\b\Mercury Interactive\WinRunner\dat\user_record(6);
     getvar()-Unknown variable
     test_Path = getvar("user_record");

user_record 是程序的名称.

[ Last edited by lanxn on 2004-10-27 at 09:54 ]
作者: 生如火花    时间: 2004-10-27 10:19
In the following example, the values of the timeout and delay test options are set for the duration of a batch test run. After the run, the previous values are restored.


static old_t,old_d;

# Saves the original timeout values in the "old_t" variable.

old_t = getvar ("timeout");

# Saves the original delay values in the "old_d" variable.

old_d = getvar ("delay");

# Set the values of timeout and delay for a batch test.

setvar ("timeout", 30);
setvar ("delay", 3);
call batch();

# At the end of the test return the values.

setvar ("timeout", old_t);
setvar ("delay", old_d);
作者: lanxn    时间: 2004-10-27 10:33
我看过这个例子了,它和我的不太一样.我想得到程序运行的路径用getvar()是否能实现呢,如果不能实现应该用什么函数?你在加载GUI Map文件的时候,写的路径是直接写d:\\b\\..吗?
作者: 生如火花    时间: 2004-10-27 10:38
Originally posted by lanxn at 2004-10-27 10:33 AM:
我看过这个例子了,它和我的不太一样.我想得到程序运行的路径用getvar()是否能实现呢,如果不能实现应该用什么函数?你在加载GUI Map文件的时候,写的路径是直接写d:\\b\\..吗?

示例:GUI_load("D:\\1\\test\\安装实体按钮.gui");
作者: QA_BAY    时间: 2004-10-27 12:48
在WinRunner所用的TSL语言中,有一个运行应用程序的函数(invoke_application),其语法为:

   invoke_application(file,command_option,working_dir,show);
       
file: 应用程序的文件名(绝对路径);

command_option: 应用程序的参数;

working_dir: 应用程序的工作路径;

file: 应用程序的显示模式;;

更具体的内容可以在帮助“TSL Online Reference”的invoke_application主题。

我们可以通过在WinRunner测试脚本的开头加上以下语句,达到让脚本自动运行应用程序的效果:

        static app_name="C:\\XXXX\\wpsview.exe";
        if(invoke_application(app_name,"","",SW_SHOW)!=0) # 如果程序不存在则退出测试
        {
                report_msg("要测试的程序不存在,测试退出.");  # 返回一个提示信息
                texit;
        }
作者: 生如火花    时间: 2004-10-27 13:06
static app_name="C:\\XXXX\\wpsview.exe";
        if(invoke_application(app_name,"","",SW_SHOW)!=0)
把这个改成
if(invoke_application("C:\\XXXX\\wpsview.exe“,"","",SW_SHOW)!=0)
作者: lanxn    时间: 2004-10-27 13:14
多谢两位了
为什么要加if(invoke_application("C:\\XXXX\\wpsview.exe“,"","",SW_SHOW)!=0)这个判断呢? 一般的测试程序不是都存在的 吗?我觉得没有太大的用处. 我看帮助上说if(invoke_application()..)主要是判断调用window应用程序用的.
作者: 生如火花    时间: 2004-10-27 13:23
要测试的程序都不存在,当然要texit;(退出测试)
作者: QA_BAY    时间: 2004-10-28 23:17
不是这样的,如果你把程序给删除了,或者拿到别的地方去了,就可以这样啦,他的用途有很多,只是加一个判断吧了!!!




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