美丽的天使会给身边的人带去快乐,我就是那个美丽的天使。

发布新日志

  • Action Call Properties

    2009-08-27 11:13:26

        如果想让一个action执行多次反复,需要在action call properties 对话框中进行设置.

        一个是Action的属性,一个是Test的属性。Action运行的反复次数取决于它的DataSheet的数据的行数,Test运行的反复次数取决于Global Sheet的数据行数.

        通过Action的右键菜单“Action call properties”打开Action Call Properties对话框,Run页签中有三个选项:Run one iteration运行所调用的Action一次,运行时根据当前global的iteration数,来决定获取action data sheet中的哪行数据。如果Action的data sheet的数据条数少于global sheet,则以后的每次运行都总是取action data sheet的最后一条数据。例如,当action的sheet有2行数据,global sheet有4行数据,如果调用action时选择了“Run one iteration”,但是在设置test时选择了run iterations on all rows of the global data sheet,那么在运行test的每一轮中,这个action只运行一次,每次参数时都是根据test的“轮数”来决定获取哪一行的数据。在运行第1轮测试时,获取action sheet的第1行数据,在运行第2轮测试时,获取第2行数据,第3轮或第4轮时,参数总是获取第2行(action sheet的最后一行)的数据。


    Run on all rows
    运行action的所有行的数据,即ation的运行次数取决于action的数据行数。

    Run from row to row
    指定action运行的数据范围,从而决定action运行的次数及取数范围。


    通过菜单Test>Setting打开Test Setting对话框,Run页签中有三个选项:

    Run one iteration only
    仅运行test一次。运行时获取global sheet的第1行数据。
    Run on all rows
    根据global sheet的数据行数来决定test的运行轮数,每轮测试依次获取global sheet中的数据。


    Run from row to row
    指定test的运行轮数。每轮测试依次获取指定范围的行的数据。

  • QTP的教程出现的问题

    2009-08-27 11:07:13

    这里提三点注意的地方,不然的话,就出错,下面的处理办法也许可行:
     
      1、在建立检点的地方,有一个是让对First name edit box建立标准检查点
     
      对于这个,它的文字介绍中前面的都没有问题,只是在一个对话框(checkpoint properties)中的最下面有个insert statement选项,文章中没有提到应该选择after current step,默认的选项是before current step,如果不改,按照教程中的选项,确实能够和它接下来的文字说明“在你所选的步骤之前建立一个标准检查点”相一致,但是和文中附图就不一致了,其实应该和图中的一致,其实是在选的步骤之后加一个检查点,这样在调试的时候才能不出错。所以那个选项一定要选“在当前步骤之后”。其实这样道理上也讲得通,只有前面你输入值,后面才去检查,这样就对了,不然在步骤之前去检查,还没有输入到编辑框中就去检查,肯定检查不出来了,要报错的。
     
      2、关于参数化
     
      其实参数化是没有问题的,但是有个问题要注意的,不然是报错,还不知道哪里原因。按照教程里一一操作,参数化步骤也是没有问题的,就是在回放的时候,它要求将出发城市参数化,并且提供了三个值到DATA Table里,分别是New York,Portland和Seattle,但当运行脚本的时候,第一次迭代是顺利和pass的,但是到第二次迭代的时候,总是一输入用户名和密码页面之后,似乎出现的网页不是应该出现的,而且这时候会报一个找不见对象的错误。
     
      这个问题的解决方法就是将录制的脚本的最后一行删除就OK 了,不然的话,一直都是这个错误。
     
      3、在第9章有个小细节,要新建一个空白脚本ActionB,插入呼叫动作那里
     
      我要说的是,在这里,它首先是在ActionB脚本中插入呼叫的Sign in和ReturnHome脚本
     
      要注意,在插入Sign in 的时候,在一个Select Action对话框中,有个Location选项,需要选择At the end of the test,默认选项是After the current step.如果你采用默认选项时,这时候看不出来有错,等将ReturnHome和Copy of FlightOrder都call 到ActionB或者是Copy到ActionB中以后,有个要删除预设的Action1的时候,删除以后,运行就会出错,而且我个人感觉他在说这三个Action的顺序的时候,说的有点乱,其实只要你选择这个选项以后,按照它的操作顺序,完了以后,在你去调整他们的顺序之前,他们的顺序是这样的,Sign in然后是ReturnHome然后是Copy of FlightOrder,所以只要你拖动Copy of FlightOrder到ReturnHome前面就OK 了,运行是没有问题的。在你选择这个选项和不选择这个选项两种情况下,等你删除预设的Action1之后,他们的层次关系是不同的,请仔细查看。
Open Toolbar