标识在其上执行模拟步骤的窗口位置,成功运行脚本。当使用这种模式时,QTP不会捕获任何Active Screen图像。
b.录制关联屏幕:当录制的窗体在录制过程中需要移动,或者涉及到多个窗口内的对象时,可以使用这种录制模式。使用这种模式时,QTP将捕获您在其中进行录制的窗口的最终状态的Active Screen图像。
③.使用模拟录制时,录制的步骤被保存在单独的数据文件中。该文件与在其中录制模拟步骤的操作或组件一起存储。 ④.当以模拟录制模式进行录制时,QTP将向测试或组件添加一个调用所录制的模拟文件的“RunAnalog”语句。相应的Active Screen将显示在模拟录制会话期间执行的最后一个模拟步骤的结果。
改变TO和RO的对象属性
1)改变TO对象属性:使用SetToProperty(object.SetTOProperty Property, Value),这时可以临时改变对象库中相应对象的属性,不改变程序的对象属性。运行完后,对象库中此对象的属性不变。(例4)
2)改变RO对象属性:使用测试对象的Object属性(Object.属性),这样可以改变程序的对象属性,不改变对象库对象的属性。(例5)
QTP案例介绍—解决几类常见问题
1.日历控件
http://www.my97.net/dp/demo/
日历控件常出现的问题:是录制的时候,选择一个日期后,回放时时发现并不是我们需要的那个日期。主要原因是QTP在录制日历控件的时候,录制前是当前日期,录制完后控件显示的是你选择的日期,因此回放时,并不是以当前日期作为开始时间点,而是以你后面选择的日期作为时间点,所以自然就出错了。例如:
录制前的控件显示 录制后的控件显示
解决办法:(例6)
第一种:录制完后,再把日期控件显示到当前日期,这样回放时是正确的。
第二种:我直接给接收日期的文本框赋值,使用了“对象.Object.Value=”日期值””。
a.把文本框对象加载进对象库。
b.给文本框赋值Browser(\演示\
DatePicker4.0 演示\=\。
2.下拉框
http://www.mangocity.com/TWEB/default.jsp
普通的下拉框使用的是select方法,但是有些下拉框,如下图所示,使用的是click方法,这时录制完回放后,一般都会出错。
Browser(\芒果网 - 酒店预订 机票预订 旅游度假 邮轮_2\国内机票预订服务_机票预订_芒果网\
出错的主要原因是这种下拉框要先点击文本框,才会弹出下拉选项,但是QTP在录制的时候,并没有把点击这个文本框的动作录制下来,所以在回放的时候就会报错“找不到相应的下拉项”。
如图所示:
报错
解决方法:(例7)
第一种:思路是我要脚本中出现点击下拉框的动作。 a.把各个下拉框的对象添加到对象库中。 b.手工添加或者修改点击下拉框击的语句。
Browser(\芒果网 - 酒店预订 机票预订 旅游度假 邮轮\国内机票预订服务_机票预订_芒果网\
第二种:思路是出现这种下拉框时候,采用低端录制的方式,则能成功回放。低端录制又有2种形式:鼠标绝对值(屏幕位置的绝对值)和键盘操作(与屏幕绝对值无关系)。
1)只用鼠标绝对值:
a.先用低端录制,把下拉框的事件录制下来,一般语句为:
Window(\Internet Explorer\
Explorer_Server\
b.在每个低端语句之间加入wait等待时间,1-2秒左右(必须的)。 c.每次回放前,要保证IE浏览器大小、形状不变,界面的位置不变,下拉框和录制前一致,即是界面显示一致,否则回放时,使用鼠标绝对值,一定会报错的。
2)鼠标绝对值和键盘操作:
a.用低端录制,点击下拉框时使用了鼠标,选择下拉框选项时,使用键盘的上下键操作,对于不支持键盘操作的,只能选用鼠标。
b.采用键盘操作的时候,与屏幕绝对值无关,但是如果有鼠标操作时,要保证IE浏览器的大小,形状不变以及界面的位置不变。
第三种方法:思路是直接给这个下拉框赋值。 a.先将下拉框的对象加载到对象库中。
b.增加或者修改QTP语句:即在Set后面加上要赋的值。 Browser(\国内机票预订服务_机票预订_芒果网\国内机票预订服务_机票预订_芒果网\广州\
或者使用:
Browser(\国内机票预订服务_机票预订_芒果网\国内机票预订服务_机票预订_芒果网\广州\
3.录制常见鼠标和键盘操作
有时候可能要使用到鼠标和键盘的操作,如点击鼠标右键,按键