2023年11月30日发(作者:)
QTP 面试
1如何编写一份完整的qtp自动化测试方案?
1. 编写一个QTP 脚本框架,采用数据驱动方法运行脚本. 脚本分成两类,一类
是基础功能测试脚本(验证各个模块的基本功能);另一类是业务流程功能测试脚
本.(按照业务逻辑,测试相关模块的功能) 因为是采用描述性编程搭建脚本框架
所以和测试工具本身测试对象库没有依赖关系.也无需要相关Action的设置,框
架可以完成想要的各种流程步骤.
2. 分离测试动作和测试数据, 尽可能的将脚本进行复用. 在开发基础功能脚本
时,每个事件所用到的数据都要设计的合理,便于业务流脚本进行复用.同时编写
各个事件流时,简要描述该事件所执行的动作是什么.
3. 在完成脚本开发后,由于某些脚本需要相应的环境设置..因此需要写一份文
档, 简要描述,运行某些脚本时,需要相应的哪些环境配置.
4. 通过列表的形式理出页面清单作为自动化测试脚本的自查表,统计,查看脚本
覆盖了当前系统哪些页面.并可
并作为测试报告中的一部分,供后续版本工作时,作为经验和教训.
2 qtp功能自动化测试的三种录制模式都是什么?
QTP中有三种录制模式:正常录制、模拟录制、低级录制
1. 正常录制模式是QTP默认的录制模式,这种录制模式是直接对对象的操作,
录制完之后,不管再次打开的对象位置在哪,它都能执行到。录制方式为–直接
从automation->record或按F3录制;
2. Analog recording(模拟录制)是对鼠标和键盘的精确操作的录制,用来录制
正常录制模式不能录制到的动作,比如说录制一个鼠标拖动的动作,正常录制模
式录不下来,这时就可以使用模拟录制模式。录制方式为:–从
automation->record或按F3,然后再按 automation->Analog recording 或鼠
标的小按钮;
3. low-level recording(低级录制)模式用来录制 QTP不能识别的环境或对象。
它录制鼠标及键盘的所有操作,对对象的位置要求非常严格,如果对象的坐标有
一点改变就有可以录制失败。录制方式:–从 automation->record或按F3,然
后再按 automation->low level recording 或指针箭头的小按钮;
模拟录制模式分为两种:一种是相对于指定窗口录制;另一种是相对于屏幕录制。
相对于指定窗口录制—如果对其执行操作的对象位于一个窗口内部而且该窗口
在模拟录制会话期间没有移动。这可以确保在运行会话过程中,QuickTest将准
确地标识在其上执行模拟步骤的窗口位置,即使当您运行模拟步骤时窗口位于不
同的位置。QuickTest不会录制在指定窗口外部执行的任何单击或鼠标移动。当
使用这种模式时,QuickTest不会捕获任何Active Screen图像.
相对于屏幕录制-如果在其上录制模拟步骤的窗口在录制过程中移动,或者您所
执行的操作是针对位于多个窗口内的对象。这可能包括将对象从一个窗口拖放到
另一个窗口中。当使用这种模式时,QuickTest将捕获您在其中进行录制的窗口
的最终状态的Active Screen图像。
使用“模拟录制”录制的步骤被保存在单独的数据文件中。该文件与在其中录制
模拟步骤的操作或组件一起存储。
当以“模拟录制”模式进行录制时,QuickTest将向测试或组件添加一个调用所
录制的模拟文件的“RunAnalog”语句。相应的Active Screen将显示在模拟录
制会话期间执行的最后一个模拟步骤的结果。
low-level recording(低级录制)
使用“低级录制”在不受QuickTest支持的环境或对象上进行录制。当您需要在
应用程序屏幕上录制操作的精确位置时,请使用“低级录制”。当以正常模式录
制时,QuickTest将在对象上执行步骤,即使该对象已经移动到屏幕上的新位置。
如果对象的位置对于您的测试或组件非常重要,请切换到“低级录制”以使
QuickTest能够按照屏幕上的x坐标和y坐标录制该对象。这样,该步骤只有在
对象位于正确的位置时才能通过。
当使用“低级录制”时,QuickTest将所有父类对象录制为Windows测试对象,
将所有其他对象录制为WinObject测试对象。它们在Active Screen中显示为标
准Windows对象。“低级录制”对每个测试对象支持下列方法:
WinObject测试对象- Click、DblClick、Drag、Drop、Type
Window测试对象- Click、DblClick、Drag、Drop、Type、Activate、Minimize、
Restore、Maximize
以“低级录制”模式录制的每个步骤都显示在关键字视图和专家视图中。(“模
拟录制”仅录制关键字视图中那个调用外部模拟数据文件的步骤。)
模拟录制和低级录制的规则
模拟录制和低级录制产生的脚本无法插入检查点,而且应用程序界面稍有变动则
脚本无法正常运行,所以非万不得已(QTP正常支持的B/S结构以外的情况)应
该避免这两种录制方式。有时候因为无法正常录制或者无法正常运行,初学者就
可能考虑使用这两种方式录制,事实上,只要是C/S(其实部分结构简单一点的
B/S)结构,基本上都能够避免所遇到的这些问题,具体方法,参见第二部分。
当选择“模拟录制”或“低级录制”时,请考虑下列规则:
只有当QuickTest的正常录制模式不能准确录制您的操作时,才应使用“模拟录
制”或“低级录制”。“模拟录制”和“低级录制”要求比正常录制模式更多的
磁盘空间。对于特定的步骤,您可以在录制会话期间切换到“模拟录制”或“低
级录制”。在以“模拟录制”或“低级录制”模式录制了必要的步骤之后,就可
以返回到正常录制模式来完成录制会话的其余部分.
3 QTP链接数据库脚本
例:Dim res,cmd,sql
Set Res=createobject(“set”)
Set Cmd=createobject(“d”)
veconnection=”Provider=SQLOLEDB.1;Password=111111;Persist
Security Info=True;User ID=sa;Initial Catalog=xhq;Data
Source=192.168.191.142″ '这句话是连接数据库的数据源,要做修改
dType = 1
sql=”selec t * from 表 where name=username”
dText = sql
Set res = e()
Set res = nothing
Set Connection = nothing
Set Cmd= nothing
4 如何用QTP 选中网页上的所有复选框
Set MyDescrīption = Descrī()
MyDescrīption(“html tag”).Value = “INPUT”
MyDescrīption(“type”).Value = “checkbox”
Set Checkboxes =
Browser(“Itinerary”).Page(“Itinerary”).ChildObjects(MyDescrīption
)
NoOfChildObjs =
For Counter=0 to NoOfChildObjs-1
Checkboxes(Counter).Set “ON”
Next
5 QuickTest 如何处理Cookie?
服务器端连接(例如CGI 脚本)可以使用Cookie 存储和检索连接的客户端的信
息。
QuickTest 在内存中为每个用户存储Cookie,并且浏览器按正常方式处理这些
Cookie。
QuickTest 如何处理会话ID?
处理会话ID 的是服务器,而不是浏览器,通常用Cookie 或在所有链接中嵌入
会话ID 的方法。这不影响QuickTest。
QuickTest 如何处理服务器重定向?
当服务器重定向客户端时,客户端通常不会注意重定向,且一般不会出现错误定
向。在大多数情况下,客户端重定向到服务器的另一个脚本上。其他脚本为要查
看的后续页生成HTML 代码。这对QuickTest 或浏览器没有影响。
QuickTest 如何处理元标记?
元标记不影响页面的显示方式。通常,它们只包含有关页面的创建者、页面的更
新频率、页面的内容和表示页面内容的关键词等方面的信息。因此,QuickTest 处
理元标记没有任何问题。
QuickTest 是否使用.asp?
使用Active Server Page 技术动态创建的网页有一个.asp 扩展名。该技术完
全是服务器端的,并且与QuickTest 无关。
QuickTest 是否使用COM?
QuickTest 符合COM 标准。
QuickTest 支持嵌入网页的COM 对象(现在只能通过Microsoft Internet
Explorer 才能对其进行访问),并且您可以在VBScript 中驱动COM 对象。
QuickTest 是否使用XML?
XML 是可扩展标记语言,它是SGML 用于Web 文档的缩减版本,Web 设计人员可
以通过XML 创建自己自定义的标记。QuickTest 支持XML 并将XML 标记识别为
对象。
还可以创建XML 检查点检查网页上XML 文档的内容、帧或文件。QuickTest 还
支持XML 输出和架构验证。
6


发布评论