qtp9.2中遇到的问题

上一篇 / 下一篇  2011-02-23 17:07:41 / 个人分类:笔记

1.怎样让运行的时候,每步的速度变慢?
  答:可以通过如下的方式进行设置:Tools->Options->Run->Run mode中设置时间

2.7种检查点有什么区别呢?
 (1)文本检查点:检查页面上的一些静态文字是否正确。
    设置方法:在"active screen"中,在需要检查文字的旁边,右击->选择"Insert Text Checkpoint"->设置相关属性,点击"ok"
 (2)位图检查点:截取窗口的画面,检查画面是否正确。注意截取的画面一定要与实际系统中运行的画面,否则运行时不能通过。
    设置方法:在"active screen"中,在需要检查画面的旁边,右击->选择"Insert Bitmap Checkpoint"->设置相关属性,点击"ok"
 (3)图片检查点:检查图片的属性
    设置方法:在"active screen"中,在需要检查图片的旁边,右击->选择"Insert Stardard Checkpoint"->设置相关属性,点击"ok"
 (4)表格检查点:界面上的列表,检查表格内容
    设置方法:在"active screen"中,在需要检查表格的旁边,右击->选择"Insert Stardard Checkpoint"->设置相关属性,点击"ok"
 (5)网页检查点:检查网页的属性
    设置方法:在"active screen"中,在需要检查网页的旁边,右击->选择"Insert Stardard Checkpoint"->设置相关属性,点击"ok"
 (6)标准检查点:检查对象属性,一般的按钮、控件都可以通过如下的方法进行设置。
    设置方法:在"active screen"中,在需要检查控件的旁边,右击->选择"Insert Stardard Checkpoint"->设置相关属性,点击"ok"
 (7)可访问检查点:检查一个图片是否存在alt(alt="名字"指的意思为:图片在不能显示的情况下,显示"名字"这两个字,alt是意思为可替换)


 

3.验证码怎样回放呢?
 答:有几种处理方法:1.要开发人员屏蔽验证码的校验
       2.在回放的时候,手动的输入验证码
       3.可以通过相关的设置,得到验证码的值,不过需要QTP9.5 

4.参数化之后,要使用什么方式调用呢?还有回放的次数是由什么来决定的?

5.参数化三种方法的区别

6.QTP中Keyword View 中控件旁边的命名是怎么出来的,可以参考哪里?
 答:控件旁边的命名其实就是页面中的命名。例如:在html中的用户名的标识为username,那么在控件的旁边就会显示username.

7.为什么在录制的时候,不能进行插入表格检查点?
  答:可能插入表格检查点,表格检查点一般是指界面上的列表。表格检查点只能检查一些静态的数据,如果数据发生了改变,则表格检查点不能通过,当然也可以设   置表格检查点,只让检查表格中的静态内容就OK啦。

8.为什么录制界面和回放界面不一样?
  答:一般情况下,是由于回放的时候找不到录制时候的对象所造成的。具体的解决方法,需要再慢慢发现。

9.QTP中循环的次数怎么设置呢?
 答:QTP中不需要设置循环的次数,当在global表中一个变量的参数有几个时,它就会进行几次循环(注意在action表中的参数好像对循环次数没有影响)。

10.在运行脚本的时候,没有关闭应用程序,结果运行的时候报错。这个原因是什么?
  答:那是因为在"Record and Run settings"中没有进行正常的设置。设置一下就可以正常运行了。


11.QTP中有些图标的功能不知道做什么用的
   Object Repository
   Object spy:查看对象的相关属性

12.怎样设置才可以让循环只循环我想要的部分呢?
  答:具体的设置方法如下:
     举个例子来说明:1.脚本中存在登录事务、查找人口事务、注销事务。
          2.我只想循环查找人口事务,登录事务和注销事务都只执行一次就行了。
        进行如下设置:在查找人口事务上右击->选择"action call properties"->设置循环次数就行了 
          3.注意:global表中应该只存在一行数据或者不存在数据

13.文本检查点和标准检查点的区别?
  答:如果你想检查的文字是一个控件的题目或者是一个控件的内容,则我们只能设置为标准检查点,设置为文本检查点的时,运行时会报错
      如果你要检查页面上的一些静态字体,你可以用文本检查点或者是标准检查点也是OK的

14.如果页面中的内容来自于数据库中的内容,要怎样检查?

15.在global表中,开始输入三行数据,后来删除了两行数据,可是依旧进行的是三次循环,怎样设置,让它只进行一次循环呢?
  答:那是因为数据表里面存在黑线,如果存在黑线,QTP会认为里面存在值(只不过是值为空值),系统会继续循环,直到没有黑线的行才会结束
      删除黑线的方法:选中需要删除的行-》鼠标右击-》edit-》delete,就没有黑线了
      采用以下方法不行,虽然数据表里面没有黑线了,但是执行的时候循环的次数并不会减少
  方法为:选中需要删除的行-》鼠标右击-》edit-》cut,或者 选中需要删除的行-》按"ctrl+x"键,数据库中没有了黑线,但是循环次数不会减少

16.QTP测试中为什么不能用loadrunner中的飞机例子
  答:个人认为这个原因应该出现在预订机票中的"continue"按钮,只能用鼠标点击才能生效,按键盘上的enter没有反应
  不过具体原因是什么,我还不能了解

17.怎样进行数据库的检查?

18.什么情况下,可以用模拟模式和低级模式进行录制?
  (1)正常模式录制方法没有进行操作,或者为了排除一些错误
  (2)模拟模式和低级模式需要更多的磁盘空间
  (3)程序中有些控件没有办法用正常模式进行录制,则需要在录制这些控件的时候选用模拟模式或低级模式,其它的地方还是可以选择正常模式,这几种模式是在录  制的时候可以相互切换的

19.对象库有什么用? 

20.为什么要用关联?要怎样设置关联?
   答:当在一个action中想使用另一个action中的对象时,需要进行对象关联

21.密码加密之后,怎么进行参数化?

22.为什么QTP测试不同的程序要选用不同的插件?判断的依据是什么?

23.QTP中不能在active screen中显示图片,不知道是什么原因。而且打开原来所编写的脚本时,系统会提示"内存不可读"
   答:因为杀毒软件删除了一个c盘里面的文件,使得QTP不能在active screen中显示图片。以后杀毒的时候要注意一下,是不是所有的文件都可以删除。

24.怎样进行手动的调试?
  答:在脚本中插入断点,当运行到断点的时候,运行就是停下来,你按一下F11或者F10,它就执行一步,直到程序的结束。

25.QTP中怎样进行数据库检查?


26。QTP中的数据难道不可以导出到excel吗?QTP中的输入数据却可以引用
    答:QTP中的数据能够导出到excel。关键是要知道通过什么函数可能知道编辑器内容的值。不然,怎么可以将数据导出到excel呢?得到编辑器的函数如下:
   workSheet.Cells(index,1) = Dialog("Login").WinEdit("Agent Name:").GetROProperty("text")

27.QTP难道只用来做通过测试吗?难道QTP不能用来检查字段的长度吗?
   答:测试也可以来测试字段的长度,关键是你要知道怎么来写。

28.怎样得到环境变量的值?


29.QTP9.2启用activex之后,就不能用ie7了,为什么?
 ie7和QTP9.2不兼容

30.QTP里面的active screen 不能显示的解决方法:
 办法有三:
   (1)升级IE为7.0;
   (2)360将启动QTP时需要的一些dll文件当做木马给查杀了,需将这些文件加为信任;
    这些dll文件分别是:c:\windows\system32\ntmssvc.dll(可设置,可不设置)   ielpview   vfsprotocol
   (3)文件损坏引起,需将QTP卸了重新安装即可;

31.录制脚本的时候,如果active screen没有快照也不要紧,可以在expert key里面,添加检查点。

32.QTP中reporter对象的用法
  reporter对象的作用:向QTP的测试结果中发出一个文本,用来记录一些提示信息(当然提示信息也是你自己写的,用来提醒你自己)
  reporter的用法:Reporter.ReportEvent EventStatus, ReportStepName, Details
                 ReportStatus:0--表示通过
        1--表示不通过
        2--不管通过与不通过,只要执行了该语句就行
        3--表示警告    
  举例: reporter.ReportEvent 1,"open order","can find the customer name "+strCustomerName,这一句代码,不管写在什么程序的后面都会执行。
    reportStatus:0,1,2,3,表示在文本中的提示方式是通过、失败、警告等,与代码的执行情况(成功与失败)没有任何的关系。

33.每个action都有自己对应的对象库。各个action中,彼此之间的对象库是相互独立的。

34.代码中经常会看到这样的用法:Window("Flight Reservation").WinObject("Date of Flight:").Type Parameter("Date"),Parameter("Date")到底是什么意      思呢?
   Parameter:表示的是参数。一般是指action中的输入参数和输出参数
   action的的输入参数和输出参数设置的方法:在action上鼠标右击->选择"action properties"->选择"parameters"->输入action的输入和输出参数
   在测试脚本中怎样重新设置输入参数的值:runaction "action名称",循环次数,输入参数列表,输出参数列表
                                   eg:RunAction "InsertOrder [FlightLib]", oneIteration, "Mercury Agent", "Denver", "London", "123010", 1,                   "First", 4, lastOrder
       注意:输入参数的值,要与action中设置参数的值的顺序相同。可以只设置部分的值,其余的值用默认的值。

   在测试脚本中怎么调用输入参数的值:parameter("输入参数名")
          eg:Window("Flight Reservation").WinObject("Date of Flight:").Type Parameter("Date"),Parameter("Date")

   在测试脚本中怎样设置输出参数的值:parameter.item("输出参数名") = 输出参数值
        eg:Parameter.Item("Valid") = FALSE
 
   在测试脚本中怎样调用输出参数的值:runaction "action名称",循环次数,输入参数列表,输出参数列表
                                   eg:RunAction "InsertOrder [FlightLib]", oneIteration, "Mercury Agent", "Denver", "London", "123010", 1,                   "First", 4, lastOrder               lastOrder就代表输出参数的值

35。reporter中的filter属性,设置测试结果的记录方式
   0/rfEnableAll :测试结果记录所有的事情(也是默认的设置)
   1/rfEnableErrorsAndWarnings :测试结果记录失败和警告事情
   2/rfEnableErrorsOnly :测试结果只记录失败事情
   3/rfDisableAll:测试结果不记录任何事件

36。有的时候通过正常录制方式不能实现的,可以通过另外两种方式实现
    第一种:模拟录制方式
    第二种:低级录制方式

37.有的时候在快照上面,不能添加文本检查点,可以采用如下的方法进行解决?
  在快照上面,鼠标右击,选择"insert text checkpoint",在弹出的对话框中,可以通过Constant或者Paramter选项,来设置你要输入的文本。
 

 

 

 

 

 


 

 

 


TAG:

花非花 引用 删除 ll7140042511   /   2011-07-15 16:05:50
花非花 引用 删除 ll7140042511   /   2011-07-15 15:17:53
好,学习了!
 

评分:0

我来说两句

我的栏目

日历

« 2024-04-28  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 14959
  • 日志数: 49
  • 建立时间: 2010-07-28
  • 更新时间: 2011-07-17

RSS订阅

Open Toolbar