发布新日志

  • QTP使用笔记——WebList控件中的项不可选择的问题的解决

    2011-06-08 16:13:00

    Weblist中的select方法扩展:

    Weblist控件中的select方法只能在选择项与Weblist中的项一致的时候才能选中,如果select后的条目与WebList中的各列表项仅匹配部分字符,或使用?,*,.等符号时也不能保证选择的精确。

    写了一个myselect函数对select方法进行扩展,如select后需要选择的条目仅是Weblist列表中各项的前几位字符,而不是全字匹配,就需要先进行条目的匹配寻找后进行选择。

    现myselect函数:

    Function myselect(obj,selitem)
       Dim itemscount,selecteditem,j,bsel'regEx,
       'Set regEx=new RegExp 
       'regEx.Pattern=selitem&" *"
       'regEx.global=true
       'regEx.IgnoreCase=true
       'msgbox obj.GetROProperty("items count")
           bsel=false
        itemscount=obj.GetROProperty("items count")
        For j=1 to itemscount
         selecteditem=obj.GetItem(j)
         'msgbox selecteditem
         'msgbox selitem
         'If regEx.test(selecteditem) Then
         If selitem=selecteditem Then
                    myselect=obj.select(selecteditem)
        bsel=true
        Exit function
         End If
         If inStr(selecteditem,selitem)=1 Then
           'msgbox selitem
           myselect=obj.select(selecteditem)
                       bsel=true
               End If
        Next
        If bsel=false Then
         objSheet.cells(i,23)=objSheet.cells(i,23)&";"&selitem&":this data is not right, should be maintained."
        End If
    End Function

    1. 将该函数在需要使用的代码前要用registeruserfunc方法将其注册到weblist控件的select方法中去,以便使用;

    2. 该函数 If selitem=selecteditem Then
                    myselect=obj.select(selecteditem)
        bsel=true
        Exit function
         End If
    该代码块一开始没添加,且不添加时会产生偶尔不能选中的情形,添加后则不再产生该情形。

  • QTP研究笔记——Web端WebTable控件测试小结

    2011-06-07 18:05:08

    今天测试了WebTable控件,WebTable控件下面的两个重要的方法终于得以领会,ChildItem方法和ChildItemCount方法。

    ChildItemCount(Row,Colum,object)方法返回取得的WebTable对象中的某一单元格中的某一对象的总计数。今天遇到的ChildItemCount(6,1,"image")即返回该WebTable的第6行第一列的单元格内的image对象总数。

    ChildItem(Row,Colum,object,index)返回第多少行第多少列中的第几个对象。

    总结:

    ChildItem和ChildItemCount方法可以返回WebTable单元格中的对象及对象总数。使用其返回的对象,或者某一单元格中的对象总数,对WebTable中的对象进行定位。或对对象进行判断,判断是否显示出来或存在。或对对象进行操作或获取某一属性。都可以使用。

  • QTP学习笔记——QTP录制的三种方法总结

    2011-05-30 14:39:36

    QTP录制的三种方法:

    正常录制:默认录制

    模拟录制:其特点是只录制鼠标和键盘操作,不录制对象,录制完成后只显示一句RunAnalog的语句。回放时可能与对象无关。

    低级录制:与正常录制比较像,但低级录制会录制对象,并且是根据底层winobject对象(应该说是低级对象)来录制,并同时会录制鼠标和键盘的所有操作(包括如鼠标的任意挪动,但正常录制不会录制鼠标与对象操作无关的行为)。

  • 软件测试人员思考问题的方法

    2009-09-18 17:50:56

         昨天我突然想到,一个好的软件测试人员其实应该是以整个软件产品的质量为出发点去测试。事实上他的思想应该是正面的。他不应该因为发现了一个大的bug而兴奋。恰恰相反,他应该以发现一个崩溃性的bug而担忧才对。这说明我们产品的质量还存在很大的问题。他不应该仅仅因为发现了很多bug而感到高兴和有成就感,事实上,他更应该以发现了的bug能够跟开发在一起去解决,经验证后不存在和关闭一个bug而更感到兴奋和高兴才对。当面对着这成堆的bug渐渐的减少,跟开发人员一道去定位问题,解决问题,甚至提出解决问题的思路,并最后在自己的手中关闭一个又一个的bug,当最后他看到一个一个的bug关闭了,且产品的质量越来越好了的时候,他才是更应该感到高兴和兴奋的。当跟开发人员一道一起生产出一个值得用户信赖和好评的产品的时候,我想测试人员的心里才会感到一丝的欣慰,因为那里面也有他付出的汗水。

        事实上我以前从事软件测试的出发点是错误的,那时候尽想着怎样能发现问题,以发现问题而感到高兴,然而现在才知道那时候我想的实在是太片面了,一个软件测试人员,不仅要尽可能的发现潜在的软件漏洞,更要能尽可能的提供解决问题的思路和解决办法,并最后确保问题的解决,这样才能算是尽到一个软件测试人员对质量负责的职责。

        而且,软件测试人员更要有一种建设精神,要以软件的质量为己任。他需要从头到尾追究软件的质量。一个好的软件测试人员要尽自己的最大可能提升软件的品质和质量,从根据需求提出各方面需求的问题,追踪需求人员解决需求中的问题,对产品提出bug到追踪修改bug。这些都是软件测试人员的职责范围。他需要从头到尾的追踪产品的质量,他应该针对提出的问题,同需求人员去沟通,同开发人员去沟通,确定一个个问题,并最终推动解决这些问题。这才是一个软件测试人员所应该做的。

  • Selenium学习笔记一

    2009-09-18 17:46:18

    Selenium学习笔记一:

    一、下载站点http://seleniumhq.org/download/ 下载Selenium的包。

    二、下载Selenium IDESelenium RC的包。

    三、环境要求:安装jdk1.5,下载Eclipse最新版本。

     

    添加IDE插件:下载到后解压缩这两个包并将解压后的Selenium IDE插件添加进Firefox浏览器里。

     

    启动Selenium RC sever,打开cmd,进入Selenium RC解压缩后的目录下的

    ..\selenium\selenium-remote-control-1.0.1-dist\selenium-remote-control-1.0.1\selenium-server-1.0.1目录下,使用命令java –jar selenium-server.jar启动Selenium RC sever

     

    配置Eclipse:官网文章地址:http://seleniumhq.org/docs/appendix_installing_java_driver_client.html#configuring-selenium-rc-eclipse-reference

    1.       打开Eclipse

    2.       File->New->other,弹出框选择新建一个java project

    3.       输入工程名,在jre中注意选择不低于jdk1.5的版本;

    4.       注意接下来可以在libraries里面添加2个包:包括:selenium-server.jarselenium-java-client-driver.jar

    5.       要注意要添加junitjar包,junitjar包路径:“\eclipse\plugins\org.junit_3.8.2.v20090203-1005”。 如果不添加,可能到时候脚本无法执行。Eclipse配置中build path可以在project-java build path中,也可以在工程右键菜单-build path-configure build path

    6.       此项配置完成后基本就完成了,可在工程的src文件夹下再建个com文件夹,再在下面建testcase文件夹。在后面的case中会用到import的包的路径。

     

    明天再总结制作脚本和自动化实现刷票经验,:-

  • 转贴:Verification和Validation

    2009-01-12 15:40:36

    今天读一本书上说的对于Verification(验证)和Validation(确认)给出的定义应该是给错了。翻阅很多资料,觉的正确的定义,根据ISO中的应该是如下:
    即Verification是验证需求说明中规定的是否都实现,和软件实现的是否正确;
    而Validation是指站在用户的角度上软件的实现是否正确。
     
    原文如下:
    验证和确认(转贴)
    2007-01-04 13:53

    软件测试的工作归结起来就是两个V,Verification和Validation 。

    Verification翻译为验证,在在 ISO9000 中,“验证”的严格定义是:

    验证是通过检查和提供客观证据,表明规定要求已经满足的认可。

    Validation翻译为确认,在 ISO9000 中,“确认”的严格定义是: 

    确认是通过检查和提供客观证据,表明一些针对某一特定预期用途的

    要求已经满足的认可。

        从定义上可以看出“验证”关注是否满足规定,即需求规格说明书,

    “确认”关注的是是否满足预期用途,即用户的真正需求。我们知道,

    软件的设计,编码实现都是依据软件的需求规格说明书。对于软件测试

    来说单元测试,集成测试,系统测试的目的是验证软件是否符合软件的

    需求规格说明,因此都可归于验证过程。然而需求规格说明书并不能代

    表用户的真正需求,而且依据需求的设计也往往同需求会有些偏差,

    所以得出的软件产品在经过了系统测试以后还需要进行,确认测试。

    测试软件产品是否就是用户想要的产品。

        总之,验证针对的是需求说明书,检验软件是不是根据需求来设计实现的,

    确认针对的是用户,检验软件能否满足用户的需求。BOEHM对V&V的最著名

    又最简单的解释是:

    Verification:Are we building the product right?
    是否按需求做出了正确的产品

Open Toolbar