QA_BAY 发表于 2004-11-22 16:44:48

WR代码交流贴

希望大家拿自己平时写的代码出来交流一下吧,
让大家一起进步!

QA_BAY 发表于 2004-11-22 16:46:52

变量申明 使用范围 使用时间 在何处申明
Auto 局部 函数结束
Static 局部 测试单元停止 函数,测试单元,模块
Public 全局 测试单元停止 函数,测试单元,模块
Extern 全局 测试单元停止 函数,测试单元,模块
这四个经常用在写FUNCTION时用到!

生如火花 发表于 2004-11-22 16:52:20

支持一下
###用于生成一个小于等于k的整数(k>1)
public function random(k,n)
{
n=int((k-1)*rand()+1);
report_msg("n="n);
return n;
}
random(1000,n);

#####返回k整除m的结果
public function div(k,m,n)
{
n=(k-k%m)/m;
report_msg(n);
return n;
}
div(k,m,n);

[ Last edited by 生如火花 on 2004-12-7 at 15:32 ]

lousia 发表于 2004-11-22 17:03:17

Originally posted by QA_BAY at 2004-11-22 04:46 PM:
变量申明 使用范围 使用时间 在何处申明
Auto 局部 函数结束
Static 局部 测试单元停止 函数,测试单元,模块
Public 全局 测试单元停止 函数,测试单元,模块
Extern 全局 测试单元停止 函数,测试单元 ...

好东西。我从来没用过,能说的详细一点吗?举个例子吧,
欢迎大家加我,一起交流:lousia_qian@hotmail.com

生如火花 发表于 2004-11-22 17:10:59

有时间发贴等别人告诉你某个函数的用法,还不如自己在TSL帮助里学习,要想学到东西,就不能太懒的。不是讨论代码的内容应该发新贴。这样便于其他人的交流

shyfish 发表于 2004-11-22 17:53:29

贴一段,很喜欢用Data table的:
dataTable = "dialNum.xls";
ddt_open(dataTable, DDT_MODE_READ);
ddt_get_row_count(dataTable, ddtRowCount);
for(ddtIndex = 1; ddtIndex <= ddtRowCount; ddtIndex++)
{
                ddt_set_row(dataTable, ddtIndex);
        number = ddt_val(dataTable, "DialNum");
        divNum = 1000000000;
        for(i = 0; i < 10; i++)
        {
                curNum = int(number / divNum);
                switch(curNum)
                {
                        case 0:button_press("Button0"); break;
                        case 1:button_press("Button1"); break;
                        case 2:button_press("Button2"); break;
                        case 3:button_press("Button3"); break;
                        case 4:button_press("Button4"); break;
                        case 5:button_press("Button5"); break;
                        case 6:button_press("Button6"); break;
                        case 7:button_press("Button7"); break;
                        case 8:button_press("Button8"); break;
                        case 9:button_press("Button9"); break;
                }
                number = number % divNum;
                divNum = int(divNum / 10);
        }
}
ddt_close(dataTable);

用途:
应用程序上有10个按钮(自定义的,被我Virtual成了Button1-10),在data table(自定义的Datable,没有从数据库导入)里面存的是10位的整数:比如1234567890,然后根据该整数来依次序地按对应的按钮;如对于1234567890依次按Button1, Button2.....
希望大家有什么对于Data Table的使用心得拿出来交流交流啊

xob 发表于 2004-11-22 21:16:00

tl_step_once

report_msg

很好用的,呵呵

QA_BAY 发表于 2004-11-23 22:13:49

检测一个窗口的弹出!
iResult = win_exists("prjGolf");
if (iResult == E_OK)
{
    set_window ("prjGolf", 0);
        obj_type ("是(Y)","sdssss");
        button_press ("否(N)");}
        set_window("预定及客人管理-新预定_2", 1);
               obj_wait_bitmap("ThunderRT6CommandButton_3_1", "Img1", 1);
               button_press ("ThunderRT6CommandButton_3_1");}
else
      return;

生如火花 发表于 2004-11-24 22:42:52

Originally posted by QA_BAY at 2004-11-23 10:13 PM:
检测一个窗口的弹出!
iResult = win_exists("prjGolf");
if (iResult == E_OK)
{
    set_window ("prjGolf", 0);
        obj_type ("是(Y)","sdssss");
        button_press ...
如果不能确定窗口什么时候弹出,可以在脚本的最开始添加
define_popup_exception ("exception_name","function_name", "action_window" );
public function function_name();
{
.....#检测窗口并做出操作。
}
exception_on("exception_name");

QA_BAY 发表于 2004-11-25 22:41:29

#        Function:                                getRandom
#        Purpose:        Generate integer random numbers between a range, and place    them in an output array/
#        Parameters:                in Minimum (integer), in Maximum(integer), out RandomArray (array that holds integers)
#        Return Values:       Numeric Error codes: 0: OK; -1: error



load("win32api");

public function getRandom(in iMin, in iMax, out aRand[]) {
        auto iRange, i;
        if (iMin < 0 || iMin > iMax || (iMin + iMax)==0)
                return -1;
        if (int(iMin) != iMin || int(iMax) != iMax)
                return -1;
        iRange=(iMax-iMin) + 1;
        srand(GetTickCount());
        for (i=0; i<iRange; i++)
                aRand = int(rand()*iRange) + iMin;
        return 0;
        }


#When used with the following calling code, random output listings were created.
if (getRandom(1,5,aRnd)==E_OK)
{
    buf="";
        for (i=0; i<10; i++)
                buf = buf & " " aRnd;
        print(buf);
        }
texit;

这是WR中的一个例子,
本人试过了可以运行,
你们可以copy到你的机子上运行.
getRandom()里面的数据可以改变!
大家一起学习

mojinde 发表于 2005-1-26 11:50:31

贴一段吧

在51TESTING,这么久了,只索取,不给予,不好意思,这是在生如火花的指导下完成的:主要作用是检查输入框对特殊字符的控制
# ThunderRT6FormDC
        set_window ("ThunderRT6FormDC", 1);
        button_press ("新建");

# 托运客户档案
#定义非法字符输入字段
ff="12#%$#^$%&%^"
ff1="12345678"
#注:若要用ff来测试的话,就把(set_window "提示",和button_press ("确定")注销掉)
#把ff分别输入到以下的输入框
        set_window ("托运客户档案", 3);
        edit_set ("ThunderRT6TextBox", "1");
        obj_type ("ThunderRT6TextBox_1", ff);
        button_press ("保存");
#弹出非法字符输入的提示信息
if(win_exists("石家庄市汽车道路货物运输企业信息管理系_0")==E_OK)
{
    report_msg("输入的字符不合法!");
#关闭提示窗口
    win_close("石家庄市汽车道路货物运输企业信息管理系_0");
}
    else report_msg("输入的字符合法.");
# 提示
# set_window ("提示", 2);
#        button_press ("确定");
# 托运客户档案
        set_window ("托运客户档案", 1);
        button_press ("退出");
我还是想说一声:谢谢生如火花!

肚皮 发表于 2005-3-16 13:44:07

Originally posted by 生如火花 at 2004-11-24 10:42 PM:

如果不能确定窗口什么时候弹出,可以在脚本的最开始添加
define_popup_exception ("exception_name","function_name", "action_window" );
public function function_name(); ...
这段代码我没理解,可能是我没有“scenario"的概念,可以让生如火花同志给我些指导吗,最好详细讲讲。

肚皮 发表于 2005-3-16 13:50:25

Originally posted by 生如火花 at 2004-11-24 10:42 PM:

如果不能确定窗口什么时候弹出,可以在脚本的最开始添加
define_popup_exception ("exception_name","function_name", "action_window" );
public function function_name(); ...
这段代码我没理解,可能是我没有“scenario"的概念,可以让生如火花同志给我些指导吗,最好详细讲讲。

生如火花 发表于 2005-3-18 13:01:19

Originally posted by 肚皮 at 2005-3-16 01:50 PM:

这段代码我没理解,可能是我没有“scenario"的概念,可以让生如火花同志给我些指导吗,最好详细讲讲。
请看这里
http://bbs.51testing.com/viewthread.php?tid=5223&fpage=1&highlight=%2B%C9%FA%C8%E7%BB%F0%BB%A8

sinpa 发表于 2005-4-8 14:16:44

我顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶!!!!!!!

credit_hly 发表于 2005-6-23 20:09:48

受益非浅!!!

kai_top 发表于 2005-7-22 17:47:31

看了就很羡慕,认真学习。

simen12 发表于 2005-8-10 11:47:13

大开眼界,服!我要努力呀

PK_DUTBSK 发表于 2005-8-12 12:07:54

..........努力看 啊

rien2128 发表于 2005-8-12 12:37:33

真是厉害啊,高手就是高手。
页: [1] 2
查看完整版本: WR代码交流贴