我不在办公室就在星巴克,我不在星巴克就在去星巴克的路上

我的最新图片

我的最新日志

  • 当咖啡遇见茶

    2008-9-29

    当咖啡遇见茶
    就好比钢琴遇见古筝,提琴遇见编钟
    没有同台的机会,却有着同样的旋律

    当咖啡遇见茶
    就好比鹦鹉杯遇见高脚杯,红高粱遇见人头马
    虽不可以同桌,但能够同醉

    当咖啡遇见茶
    就好比水晶鞋遇见绣花鞋,婚纱遇见旗袍
    没有相同的发源地,却同样能装扮美丽的新娘

    当咖啡遇见茶
    就好比乔丹遇到姚明,雪莱遇到孔子
    虽不是同国,但同样陶冶着我们的情操

    当咖啡遇见茶
    就好比卢浮宫遇见故宫,艾菲尔铁塔遇见万里长城
    虽是不同的建筑,但同样是人类永垂不朽的见证

    当咖啡遇见茶
    就好比张扬遇到内敛,潇脱遇见含蓄
    虽是不同的类型,却同样是那么妙不可言

    当咖啡遇见茶
    就好比现在遇到过去,未来遇到历史
    虽不能同时,但同样能谱写出精彩的人生

    当咖啡遇见茶
    就好比红玫瑰遇见白玫瑰,情人遇到爱人
    虽不能同时投入怀抱,却有着同样的温存

    当咖啡遇见茶
    就好比他遇见我,我遇见你
    虽然相遇不是同时,但友谊却一样地久天长!

    当咖啡遇见茶
    咖啡永远取代不了茶,茶也永远取代不了咖啡
    虽不能同台,但却可以与历史共舞

    你是要点咖啡还是茶呢?

  • 爱尔兰咖啡,需要加眼泪吗?

    2008-9-29

    请问要点茶或咖啡?
    咖啡。
    请问您要哪种咖啡?
    爱尔兰咖啡。
    需要加眼泪吗?
     ......

    传说爱尔兰咖啡是一位都柏林机场的酒保为心爱的旧金山空姐女孩特制的。酒保从发明爱尔兰咖啡,到女孩点爱尔兰咖啡,经过了整整一年。因此当他替她煮咖啡时,因为激动而流下了眼泪。因为怕被她看到,他用手指将眼泪擦去,然后偷偷用眼泪在爱尔兰咖啡杯口画了一圈。所以第一口爱尔兰咖啡的味道,带着思念被压抑许久后所发酵的味道.

  • 秋·梧桐雨

    2008-9-29

                                                        秋·梧桐雨


            秋色连波,缓缓步入秋的殿堂。这样的季节,满湖的心事已漾出湖面,把缀满相思的落叶拾在手中又放飞,让它飘啊飘...
      属于秋的季节总是容易让人把心灵深处的记忆抖落在心门之外,总是在不经意间想起那些人,那些事,七年前的9月22日,六年前的10月1日,五年前的12月24日...那一幕幕就像岁月的画卷,让人不由自主静思生命中最深的落痕。或许是快乐的,或许更多的是伤感...,为什么岁月可以让人渐远韶华,而在有些不想记忆的记忆面前却显得那样苍白无力?
          一阵秋风吹来,心湖已是蝶影片片,波光点点,泛滥成相思的河流,静静流过九月末的天空。或许是那片落叶触动了我的思绪。叶子的离去是因为风的追求还是树的不挽留?难道生命必须经历一个生与死,荣与枯的过程才可以诠释那份真诚吗?真的吗?分离难道是生命中不可逆转的结局吗?寂寞是因为太过于坚持吗?如果可以从来...
           窗外,秋雨绵绵,思绪绵绵,那片梧桐树还在吗?曾留下我多少足迹呀!踏着厚厚的落叶去食堂,去图书馆,去西花苑;撑着小花伞去梧桐树下听秋雨的呢喃,听脚踩踏落叶发出细碎的声响,那是一曲秋的恋歌,会激起万千心绪于自然之中。在这样的季节,秋不再是一季的伤感,秋不尽是悲凉,还有思念带来的甜蜜,还有秋的遐思与期盼。也不再去伤秋的寂寥,这样的季节连忧伤都调适得恰到好处...
          我俯身拾起一片落叶,抹掉它身上的灰尘,在夕阳的辉映下,我看到了落叶的静美,没有哀伤于自己的凋零,而是化一个美丽的童话,一个开始于秋也结束于秋的童话,每当梧桐雨的季节,我便是童话中的那个灰姑娘,撑着小伞,漫步在梧桐树下,让思绪飘啊飘...

  • 性能测试

    2008-5-09

    随着软件测试行业的逐渐发展,性能测试也变得火热起来。从各大测试论坛和测试交流群的交流主题的热门程度来看,性能测试已经成为大家非常感兴趣的话题。性能测试作为软件测试行业技术性相对较高的工作(自动化测试、白盒测试、性能测试)来说,个人觉得其操作门槛还是不低的。对于测试新手来说入门有一定的难度,做的好就更加不容易了,可能花了不少时间而实际收获不大。因此觉得有必要来专门探讨一下性能测试的门槛,以及如何更好的迈进这个门槛。

    先来分析一下一些关于性能测试入门级的常见问题:

    1、请问怎么做象PhotoShop这类单机程序的性能测试;

    2、用Delphi开发的程序,应该用什么协议来录制脚本;

    3、用IP欺骗能对外网进行测试吗;

    关于第1个问题,问题本身并没有错误,单机版也有性能问题。但和我们通常所说的性能测试是两回事,不能混为一谈。如果这个算是问题的话,那我想是由于不清楚性能测试的概念和原理所造成的。第2个问题也不少见,但这种问题无法回答。我们知道,性能测试采用的协议是由被测系统的体系架构和通信协议决定的,而不在乎你用什么开发工具或开发语言。第3个问题,关于IP欺骗一般只用在内网,不管你在内网如何欺骗,经过网络地址转换后到了外网上的IP地址表现就是你的公网的IP,除非你一开始就设置成公网的IP地址,但这个一般都不可能。这个问题体现提问者对于网络知识的理解还不深入。

    以上问题反映了在学习性能测试人员的一个比较普遍的现象,缺乏必要的知识积累、知识面不足,但又由于学习兴趣或工作压力期望急于求成,由此而形成这样一个矛盾的局面。

    在我看来,性能测试是一项综合性很强的工作,甚至可以作为一项工程来看待。

    从性能测试的知识体系来看,性能测试需要掌握性能测试的基础知识、业务知识、开发相关知识、以及性能测试工具。

    l         基础知识包括性能测试的原理、常见的测试类型、方法、策略,如何进行一个计划、设计、实施、分析等性能测试过程。没有性能测试基础知识,一切简单的性能测试在你手上都将出现各种问题,测试交流将变得难以沟通,同时性能测试的成功率将大大降低。

    l         业务知识通常都被忽略了。性能测试要基于被测系统的应用场景才有实际的价值,测试场景对性能测试结果有决定性的影响,因此测试场景的设计是非常关键的,场景的设计需要和业务应用结合起来。在一些比较正规的性能测试过程中,会有业务人员配合一起做性能用例设计的。

    l         开发相关的知识也是必须具备的知识,通常在这方面也是我们最大的缺点。这方面的知识包括操作系统、数据库、应用服务器、中间件、网络等,每一个都是一门很深的学问,而要求性能测试人员都精通好像也不太现实。但起码的知识还是需要掌握的,比如通常有哪些参数需要监控和调整,它们之间是如何通信和运作的,某一方面知识的欠缺都可能导致测试模拟不准确或问题定位不充分,没有这些知识的支撑性能测试将变得难以下手或者学习工作的进展都会有很大的影响。

    l         测试工具的应用,这个是目前学习的焦点。只有在前面3点的基础上,采用合适的测试工具,才有助于测试目标的达成。


    从另外的角度分析,性能测试又可以分为技术、方法和管理方面的范畴。没有方法的指导光有技术那是行不通的,那是有勇无谋的体现。同时性能测试经常作为一个独立的阶段和活动,更需要用项目管理的方法进行,比如一个在客户现场的性能测试验收测试,与客户进行交流、时间计划的制定、测试进度的控制、测试脚本和测试数据的版本管理、各种资源的谐调等,都是需要用管理的思想进行的。

    从以上分析可以看出,由于性能测试工作需要具备这么多的知识,因此在一定程度上也成为了性能测试的门槛。这个综合的门槛将会成为很多性能测试新手入门的一道障碍,要突破这道障碍,建议结合自己的知识体系有针对性地去学习和提高。

    性能测试是一个技术与方法并重的工作,目前论坛上多谈技术,少谈方法,很多人甚至在没有任何性能测试基础知识的情况下就埋头苦学测试工具,我觉得是不应该的。我们应该意识到,测试工具只是性能测试中的一部分,仅是为达到性能测试目的而采用的一种手段。性能测试对于我们最大的价值在于方法和经验,我们学习的目标是整个性能测试过程上方法学的东西,而不是掌握具体某个测试工具。LoadRunner并不是万能的,在什么情况下应该采用什么工具才能达到最佳的效果,需要我们去判断。

    另外,学习需要有一个循序渐进的过程,性能测试需要长时间的知识积累,没有什么捷径可言。从学习效率和职业发展方面考虑,本人不太建议没有工作经验的测试新手一上来就扎进性能测试之中去,这样将花费你更多的时间精力去学习,是一种事倍功半的效果。

  • LoadRunner 虚拟IP操作步骤

    2008-5-06

     

    1、设置虚拟IP地址
    k3zL/uN0_149538
    load Generator机器必须使用固定的IP,不能使用动态IP,且确定网络中不冲突的IP地址操作步骤如下:
    /DDP(?NQ INF149538
    打开:开始-〉程序-loadrunner-tools-ip wizard如下图:

    软件测试专业网站:51Testing软件测试网@3k*\s.KeN Ms4cR
    说明:增加新IP选择第一项;使用保存的文件增加IP选择第二项;释放已经设置的IP选择第三项。软件测试专业网站:51Testing软件测试网:Kn}KU
    2、点击下一步软件测试专业网站:51Testing软件测试网#kX@.g:|/d'i
    软件测试专业网站:51Testing软件测试网xp&?W't+Q5py4@
    此步让输入web serverIP地址(也可以不用输入),不输入,直接点‘下一步’,如图:
    9Af0j7p)T'k#[*f149538软件测试专业网站:51Testing软件测试网Jm*`"M"R ` YO
    说明:使用remove按钮可以删除选定的虚拟IP软件测试专业网站:51Testing软件测试网1P0I1bd"^0\3fJ{
    add按钮,如图:软件测试专业网站:51Testing软件测试网~ }I(o3B%b[

    B:v zU)W#n149538说明:‘检查新IP是否已经存在’选项并没有起作用;根据输入的IP的第一个值和数量,自动添加到虚拟IP列表中,例如:192.168.67.140  4,则增加的虚拟IP是:192.168.67.140192.168.67.141192.168.67.142192.168.67.143软件测试专业网站:51Testing软件测试网 c%kI3A"?w%Q
    ok按钮,如图:
    h}{ |B!YXN149538软件测试专业网站:51Testing软件测试网U#H*w\*d
    点“完成”按钮,如图:软件测试专业网站:51Testing软件测试网+\/s g&}8xn#^m

    :@8d\.r(G N149538说明:使用Save as…可以将本次增加的IP保存成.ips文件,下次再使用时就可以直接选择此文件了。点‘OK’按钮即可。现在需要重启计算机。

    (重新启动计算机后,设置的虚拟IP都生效了,此时使用ping会发现都能ping通,并且本机的IP也被改成了第一个虚拟IP地址。确认虚拟IP是否都生效的方法:在运行中输入cmd,在命令窗口录入ipconfig/all,然后就能看到已经生效的所有IP)

    3、使用虚拟IP(以手动方案为例)软件测试专业网站:51Testing软件测试网&khW-A0zPU S
    controller中,选择 Scenario-Enable IP Spoofer,此项设置允许使用IP欺骗。Generators按钮,设置虚拟用户生成器,将虚拟IP地址都添加进去,并连通。如图:
    KIk/R6_u9S$u149538软件测试专业网站:51Testing软件测试网Zi(v&n#f8f"X
    连接成功的虚拟用户生成器会在工具栏中显示,如图:
    Ark:] @,kt1O*w7S149538

    完。

     

  • TestComplete测试计算器实例(转载)

    2008-5-06

     

    TestComplete测试计算器实例

    qiguojie原创文章,转载请注明出处,非常感谢!

    最近换了工作,做管理不做技术了,因此钻研东西的时间很少;最近是因为写自动化测试规划,要选择一种测试工具,特意学习了TestComplete,不过正在学习中,希望可以和大家分享一些学习的经验,希望和大家多多交流,共同进步。

    我是在网上找的TestComplete 5,并且破解后使用的(因为Demo版存在若干限制),学习可以,真正要给公司用时我还是希望公司可以出钱买个正版(根据了解,不是很贵好像),也希望大家支持正版软件

    TestComplete的简单使用步骤:
    1、打开TestComplete
    2、选择菜单 File - New - New Project创建一个新项目
    3、选择General - Purpose Test Project,然后选择Language为Delphiscrīpt后OK
    4、Select Project Items中默认,然后Finish即可
    5、在Project Workspace的Project Explorer中点击脚本对应的Unit1单元文件
    6、复制下面的代码到单元文件
    7、保存,然后F9执行


    //========================
    //Author:qiguojie
    //Date:2008-04-30
    //scrīpt Type: Delphiscrīpt
    //========================
    procedure Test1;         //执行测试
        var w1 : OleVariant;
        var num : OleVariant;
        var w2 : OleVariant;
        var w3 : OleVariant;
        i : Integer;
    begin
    //对象定义区
        w1 := Sys.Process('calc').Window('SciCalc', '计算器');   
        w2 := w1.Window('Button', '**');   
        w3 := w1.Window('Button', '=');   
    //循环执行10次
        for i := 0 to 9 do
        begin
            num := w1.Window('Button',i);
            num.ClickButton;
            w2.ClickButton;
            num.ClickButton;
            w3.ClickButton;    
        end;
    end;

    procedure Test2;
        var p1 : OleVariant;
    begin
        if not Sys.Process('calc').Exists then
        begin
            p1 := Sys.Process('Explorer');
            p1.Window('CabinetWClass', 'DDT&NameMapping').Window('SHELLDLL_DefView').Window('DUIViewWndClassName').Window('DirectUIHWND').Window('CtrlNotifySink').Window

    ('SysListView32', 'FolderView').Keys('[Win]r');
            Sys.Keys('[Hold][Win]r[Release]');
            p1.Window('#32770', '运行').Window('ComboBox').Window('Edit').Keys('calc');
            p1.Window('#32770', '运行').Window('Button', '确定', 2).ClickButton;    
        end
        else begin
            log.warning('The calc is running!!');
        end;
    end;

    procedure Main;
    begin
        try
            Test2;
            Test1;
        except
            Log.Error('Exception', ExceptionMessage);
        end;
    end;

    //=====================

     

    脚本说明:

    这个是一个使用计算器自动计算 0-9每个数自乘的脚本。
    脚本语言我选择的是Delphi,因为TC的C++脚本和LR的C差太多,我感觉读起来非常难懂。


    在使用TC中我发现了2个问题:
    1、TC的脚本中对中文的处理不是很好,容易出现问题(例如添加中文的注释或者打印Log时输出中文的信息,有时会报错)
    2、Main过程如果放在Test1,Test2上面,就无法找到Test1和Test2,我记得是可以声明一下,但是好久没用Delphi不会弄了

    通过这个实例,我简单的掌握了TC脚本的一些基本概念,目前还没有找到添加检查点以及其他的一些功能,等以后学习的多了,再总结一下吧。

    可以+MSN交流:qiguojie at hotmail dot com

  • TC中Add File & Compare File使用介绍(转载)

    2008-5-06

     

    添加需要比较的文件有以下3种方法:软件测试专业网站:51Testing软件测试网IH[ [s~
      软件测试专业网站:51Testing软件测试网 @^#L x"q3\
    //1.Add files from the Files editor软件测试专业网站:51Testing软件测试网*Zwj6sP[#Y0n
    //2.Add files from the Project Explorer软件测试专业网站:51Testing软件测试网,qy Kxj
    //3.Add files from scrīpts

    在TC里,封装了好几个文件比较的方法,主要有以下几种:
    pMzQqx~:]0//4.Comparing files by bytes软件测试专业网站:51Testing软件测试网.| vnbb$Zj%gA
    //使用正则表达式比较文件(RegExpr)
    Nk?M _'e2T0//5.Comparing files with variable parts

    具体使用如下:

    procedure AddfileFromscrīpt;软件测试专业网站:51Testing软件测试网%yi;z"BVG,u Rb"Q
    begin
    (Q!cqyFl`v0  if not Files.Add('..\..\TestFile_old.txt', 'TestFile_old') then软件测试专业网站:51Testing软件测试网 F["y-[gR
        Log.Message(Files.LastError);软件测试专业网站:51Testing软件测试网XL3l7JW5l
      if not Files.Add('..\..\TestFile_new.txt', 'TestFile_new') then
    W7F/l;l3yC%w0    Log.Message(Files.LastError);
    &C6rGD+ha0  if not Files.Add('..\..\TestFile_new_space.txt', 'TestFile_new_space') then软件测试专业网站:51Testing软件测试网i j~/@-h"{P
        Log.Message(Files.LastError);
    o)^@jS-Yk*C0end;

    //获取文件方式软件测试专业网站:51Testing软件测试网j_+{b TK$Ut
    //FileNameByIndex、FileNameByName、NameByIndex 、NameByFileName 、FileNamesList、NamesList
    rH$Is9S8M/zq0procedure GetFile;
    3g i1e/[7sj j*Orc0begin
    6b1w8i-]6F3t,F9M}%xT0  showmessage(Files.FileNameByIndex(0));
    h2D,~+rM2?&X0end;

    //常用比较文件方式软件测试专业网站:51Testing软件测试网 @z%e/L N)? q+Y K {%S
    procedure ComparefileBytes;软件测试专业网站:51Testing软件测试网%gX Z\7? k;W
    begin软件测试专业网站:51Testing软件测试网;ST,?w1\2T\
      if not Files.Compare(files.FileNameByName('TestFile_old'), files.FileNameByName('TestFile_new')) then软件测试专业网站:51Testing软件测试网Du)f3J3YB;|?%|La
        showmessage(files.LastError);软件测试专业网站:51Testing软件测试网(FMh6R4\8B8wK
    end;

    //通过Hash值比较文件
    z|!`t4] H%b0procedure ComparefileHash;
    V`i!Sx }l6G!{{\0var Hash : OleVariant;//Hash记录两个文件的差异值软件测试专业网站:51Testing软件测试网-j,rWc0DRmw_
    begin
    Xu#a&cDcq0  Hash := Files.CalculateHashValue(files.FileNameByName('TestFile_old'), files.FileNameByName('TestFile_new_space'));
    z&A#y/}F}O0  if not Files.Compare(files.FileNameByName('TestFile_old'), files.FileNameByName('TestFile_new_space'),Hash) then软件测试专业网站:51Testing软件测试网4@JA'qnx"_'|qz
        showmessage(files.LastError)
    IBI0Jg0  else showmessage('The two files is equal!');
    |2OrE4tE0end;

    procedure Test_Sample;软件测试专业网站:51Testing软件测试网3x t$ZJI
    begin
    a6yt;YXu-wit0  Aliases.TCSampleForm.Drag(224, 17, 162, 0);
    T4t.v3l'@9g:}$@0  Aliases.TCSampleSys.Process('Explorer').Window('Shell_TrayWnd').Window('ReBarWindow32').Window('MSTaskSwWClass', '运行应用程序').Window('ToolbarWindow32', '运行应用程序').CheckItem('TestComplete - C:\Documents and Settings\temp\桌面\hzr-TechED\TCSamples\TCSamples', -1, false);软件测试专业网站:51Testing软件测试网,P8W-t$~!}i0QCs
    end;


  • TC中如何添加对象及比较对象(转载)

    2008-5-06

     

    自动化的过程中,经常需要对两个对象(或属性)进行比较,看否前后一致,来判断某个对象是否被修改过,而在TC中就提供了这样的方法:Objects.Compare(Object1,Object2)

    首先,我们要添加两个对象,可以在脚本录制或回放过程添加,也可以在这之前添加,通过以下方法可以添加对象:

    //添加对象属性方式软件测试专业网站:51Testing软件测试网"`yh J w`wq Z z+G
    //1.Adding property collections from the Object Browser软件测试专业网站:51Testing软件测试网 xH;M-_\9QA9|
    //2.Adding property collections from the Object Properties window软件测试专业网站:51Testing软件测试网^w)I+CR|J:E h1?
    //3.Adding property collections from the Tools toolbar 软件测试专业网站:51Testing软件测试网|w#Uif+f9~
    //4.Adding property collections during recording软件测试专业网站:51Testing软件测试网$RL^6jbRO;i-A
    //5.Adding property collections from scrīpts软件测试专业网站:51Testing软件测试网 PYC9Ta^ypS
    //6.Adding property collections from the Objects editor软件测试专业网站:51Testing软件测试网&Z/O?bz5Fxm5R
    //7.Adding property collections from the Project Explorer

    接下来就是如何比较了,这些方法具体使用如下:

    //在脚本中添加对象属性
    e\vF{F(ERd?0procedure AddObjectfromscrīpt;软件测试专业网站:51Testing软件测试网#e^.H)h2]*Y ?X4U
    var软件测试专业网站:51Testing软件测试网 U/Vc7i;W$jZEN
      w, PropertyNames, CollectionName : OleVariant;
    gf _U F%U5c!HG]/t0begin
    .SG KV{ Uj&k"W0  //激活窗体软件测试专业网站:51Testing软件测试网Sm \{"Hlr$E
      Aliases.TCSampleForm.Activate;软件测试专业网站:51Testing软件测试网+TXc9D.B:nB.M
      //保存当前激活的窗体对象 软件测试专业网站:51Testing软件测试网 g"j+XhM
      w := Sys.Desktop.ActiveWindow();软件测试专业网站:51Testing软件测试网|v5mwjXHG.d
      //设置将要保存的属性名称   软件测试专业网站:51Testing软件测试网:|+B3Cl|T|3z
      PropertyNames := 'WndCaption';
    7o3J&N#O r@#Y+t:S0  //设置在Object集合中保存的名称软件测试专业网站:51Testing软件测试网})_jP8{4M\
      CollectionName := 'TCSampleFormName';
    L;xI N"] GU.f!l0  //保存激活窗体对象属性
    v[z)p-?0  Objects.Save(w, CollectionName,PropertyNames);
    Gqv:U1hU T+Q0end;

    //比较操作数1的对象属性名称是否改变软件测试专业网站:51Testing软件测试网1\;q8W oR#oI$e@
    procedure CompareOperend1;
    H2k6QE8N3w0begin
    fx,Gr2Yc0  if not Objects.Compare(Aliases.TCSampleOperand1, 'TCSampleOperand1') then
    %gK#ErS)W0    showmessage('Objects are not identical.'+Objects.LastError)软件测试专业网站:51Testing软件测试网,K%GY)~2Y:E-l
    else showmessage('Objects are identical.');
    :Z9G{thQ W0end;

    注,以上脚本都很简短,是因为对象做了别名映射。

     

  • TC中Regions对象的使用介绍(转载)

    2008-5-06

     

    在TC中,提供了一个Regions对象集合,专门管理图像对象,可以通过以下方法添加图像对象到Regions集合中:

    //添加图像方式:软件测试专业网站:51Testing软件测试网:@T-K-T/@q `
    //1.Add images from the Regions editor
    X LIa6C0SE0//2.Add images from the Project Explorer软件测试专业网站:51Testing软件测试网1XMv_r,n-i9j&r!B
    //3.Add images from the Image Viewer软件测试专业网站:51Testing软件测试网albFi(W;I
    //4.Add images during recording
    p+XH@"~ qE,X0//5.Add images from scrīpts

    Regions对象封装了几个常用的方法,如Regions.AddPicture(添加图像)、Regions.GetPicture(获取图像)、Regions.FindRegion(查找图像)、Picture.Find(查找图像)等,具体使用如下:

    //在脚本中添加图像
    c7G3u#xdhK,Q:R0procedure AddImageFromscrīpt;
    3}3`~ qA0begin软件测试专业网站:51Testing软件测试网&P%@z~`%|~
      //添加主窗体图像软件测试专业网站:51Testing软件测试网 R:O]F,kofM k[
      Regions.AddPicture(Aliases.TCSampleForm,'TCSampleForm');软件测试专业网站:51Testing软件测试网w`oF C/U2} T*Y"m
      //添加主窗体中操作数1的图像
    F P5j0}2Pw4R0  Regions.AddPicture(Aliases.TCSampleOperand1,'TCSampleOperand1'); 
    5gP g9j ?7[0end;

    //回放脚本过程中截取图像与在Regions集合中的图像进行比较
    /^D[4_W0procedure CompareImage_Playback;    软件测试专业网站:51Testing软件测试网+{I5Ed0zT.X}
    begin
    V7@N%h _7T{0NC0  if not Regions.Compare('TCSampleFormChangeName', Aliases.TCSampleForm) then软件测试专业网站:51Testing软件测试网J f(wr&R(O9B
        Log.Error('The compared regions are not identical.', Aliases.TCSampleForm.Name);   软件测试专业网站:51Testing软件测试网b:BTC%USGaw#W2}
    end;

    //Regions集合中两个图像进行比较 软件测试专业网站:51Testing软件测试网8c#X8j1I_h]1t
    procedure CompareImage_Regions; 
    2J7bl8P[R#o0begin 软件测试专业网站:51Testing软件测试网.C/Jw/Z%M[ v0A
      if not Regions.Compare('TCSampleFormChangeName', 'TCSampleForm') then
    ny_L'g y.x-G{ ln0    Log.Error('The compared regions are not identical.', 'TCSampleForm');
    yU*O w[(@0end;

    //使用Picture对象比较两个图像   软件测试专业网站:51Testing软件测试网Mn6y*~]1B9R8Jl?
    procedure CompareImage_Picture;
    ? P"V/Vo oD3}0var pict1,pict2 : olevariant;
    +U;r([ CU ~2\ sY5ZY0begin   软件测试专业网站:51Testing软件测试网A`x"z @\QM H
      pict1 := Regions.GetPicture('TCSampleForm');软件测试专业网站:51Testing软件测试网 F)lY1pY\-cQ
      pict2 := Regions.GetPicture('TCSampleFormChangeName');
    %EB dr"kTC$F0  if not pict1.Compare(pict2) then软件测试专业网站:51Testing软件测试网 J0w0N Ay3G3j
        Log.Error('The compared regions are not identical.');    
    8k:c%`~M G~(xa0end;

    //使用Regions对象的FindRegion方法查找图像  软件测试专业网站:51Testing软件测试网a.W k$Dv#unJ
    procedure FindImage_Regions; 软件测试专业网站:51Testing软件测试网([ u&x V#aFm5Z%J
    var pict1,pict2 : olevariant;软件测试专业网站:51Testing软件测试网b2j!r*J3{'m
    begin  
    1T2CLM N j0  if (Regions.FindRegion('TCSampleOperand1','TCSampleForm') = nil) then软件测试专业网站:51Testing软件测试网[5FW.G,ZA
        Log.Warning('Picture not found.');     软件测试专业网站:51Testing软件测试网\u yz-~ {Rh
    end;

    //使用Picture对象的Find方法查找图像 软件测试专业网站:51Testing软件测试网[BfK4a.^ ?o
    procedure FindImage_Picture;
    me}B,CJu J'i0var pict1,pict2 : olevariant;软件测试专业网站:51Testing软件测试网2X)}X0U_O E wDw:a8X
    begin   软件测试专业网站:51Testing软件测试网yf-Yx_H
      pict1 := Regions.GetPicture('TCSampleForm');
    2sam6J3b0  pict2 := Regions.GetPicture('TCSampleOperand1');软件测试专业网站:51Testing软件测试网8ih iO(~
      if (pict1.Find(pict2) = nil) then软件测试专业网站:51Testing软件测试网X i$m0Ox
        Log.Warning('Picture not found.');       
    7F't4c!J1WlQ!D6t0end;
    M"k\4e~d0

  • TC检查点

    2008-5-06

     

    2008-05-04 21:08:57 / 个人分类:TestComplete

    TC6.0以上版本中,增加了支持checkpoint(检查点)的功能,在一定程度上减轻了开发脚本的工作量,可以在录制脚本过程中添加,也可以以一般方式添加检查点,非常方便灵活。录制过程添加如下:

          

    例如,要建立第三个Object检查点,见以下界面:

     

     

    可以通过点击右边的 图标,添加对象,设置好对象名称,点击OK,就会弹出对象属性选择的对话框,选择需要检查的属性(checkpoint),TC就会自动生成检查点的脚本,并插入到脚本文件中,有需要,可以再适当对脚本做些处理,非常方便。

     

    其他CheckPoint的使用类似。

Open Toolbar