### QTP入门学习总结 #### 一、检查点设置与使用 检查点是QTP测试自动化中的一个重要概念,主要用于验证应用程序界面元素的状态是否符合预期。例如,可以验证一个按钮是否可见,或者验证输入框中的文本是否正确。 1. **设置检查点**: - 通过`Browser("欢迎页面名称").Page("页面名称").WebEdit("输入框标识").Set "测试值"`这样的语句来设置输入框的值。 - 示例:`Browser("Welcome:MercuryTours").Page("Welcome:Mercury Tours").WebEdit("userName").Set "test"` - 对于密码输入框,使用`.SetSecure`方法来设置密码值,以实现加密传输。 - 示例:`Browser("Welcome:MercuryTours").Page("Welcome:Mercury Tours").WebEdit("password").SetSecure "4e6eba0869d817b1fa3481fdedee"` 2. **录制检查点**: - 可以直接录制检查点,例如:`Browser("Welcome:MercuryTours").Page("Welcome:Mercury").Image("Sign-In").CheckCheckPoint("Sign-In")` 3. **手动获取检查点值**: - 需要在检查点参数两端加上括号。 - 示例:`bool = Browser("Welcome:Mercury").Page("Welcome:").Image("Sign-In").Check(CheckPoint("Sign-In"))` 4. **判断检查点结果**: - 使用`if`语句判断布尔值`bool`的结果,根据其真假执行不同的逻辑。 - 示例:如果`bool`为假,提示“Sign-In对象不存在/文本检测点设置成功”,否则提示“Sign-In对象存在/文本检测点失败”。 5. **执行其他操作**: - 完成检查点验证后,可以继续执行其他操作,如点击登录按钮。 - 示例:`Browser("Welcome:MercuryTours").Page("Welcome:Mercury Tours").Image("Sign-In").Click17,4` #### 二、对象探测器的使用 1. **对象探测器介绍**: - 对象探测器(Object Spy)是QTP提供的一种工具,用于查看应用界面中控件的属性信息。 - 访问路径:QTP菜单栏中的`Tools -> Object Spy` 2. **对象探测器的功能**: - 可以获取控件的所有属性信息。 - 在编写自动化测试脚本时,了解每个页面的标题和所需控件的属性值是非常重要的。 - 通过对象探测器获取这些信息,可以更准确地编写测试脚本。 #### 三、创建模板与ActiveScreen显示问题 1. **创建模板**: - 可以创建自定义的模板文件,以便在新建测试时快速设置测试结构。 - 模板文件名:`ActionTemplate.mst` - 保存位置:QTP安装路径下的`dat`目录。 - 示例模板内容: ```vbscript 'Company: 'Author: 'Product: 'Date: Date ``` 2. **解决ActiveScreen显示问题**: - 如果遇到ActiveScreen无法正常显示的问题,可以通过以下步骤解决: - 路径:`Tools -> Options -> ActiveScreen -> Customerlevel` - 设置`capturelevel`为`Partial`或重置为默认值`Partial`。 - 重新启动QTP并录制测试,ActiveScreen应该就能正常显示了。 #### 四、条件语句的使用 1. **基本语法**: - `If (条件表达式) Then` - `MsgBox "条件成立时执行的操作"` - `ElseIf (条件表达式) Then` - `MsgBox "第二个条件成立时执行的操作"` - `Else` - `MsgBox "所有条件都不成立时执行的操作"` - `End If` 2. **示例**: - 检查某个元素是否存在: ```vbscript If A.exist Then MsgBox "A is exist" Else MsgBox "A is not exist" End If ``` #### 五、常用控件及属性 1. **文本输入框`WebEdit`**: - `.set`方法用于设置文本框的值。 - `.setSecure`方法用于设置密码框的值,并实现加密。 - 示例:`WebEdit("username").set "wang"` 2. **复选框`WebCheckBox`**: - `.set "ON"` 或 `.set "OFF"` 方法用于设置复选框状态。 - 示例:`Browser("AAAA").Page("BBBB").WebCheckBox("").set "ON"` 3. **按钮`WebButton`**: - `.click`方法用于模拟点击按钮的操作。 - 示例:`WebButton("submit").click` 4. **链接`Link`**: - `.click`方法用于模拟点击链接的操作。 - 示例:`Link("Sign_in").click` 5. **图片`Image`**: - `.click`方法用于模拟点击图片的操作。 - 示例:`Image("clickhere").click17,4` (其中`17,4`表示点击图片的坐标) 6. **下拉菜单`WebList`**: - `.select`方法用于选择下拉菜单中的选项。 - 示例:`WebList("toPort").select "London"` 7. **单选按钮组`WebRadioGroup`**: - `.select`方法用于选择单选按钮组中的选项。 - 示例:`WebRadioGroup("selectclass").select "business"` #### 六、等待时间设置 1. **固定等待时间**: - 使用`Wait`函数来设置固定的等待时间。 - 示例:`Wait 10`(单位为秒) 2. **条件等待**: - 当需要等待某个元素出现时,可以使用条件判断结合等待。 - 示例:`If Browser().Page().Frame().WebEdit().GetROProperty() = "" Then Wait 5` - `Synchronize`方法:用于等待浏览器完成当前导航。 以上就是QTP入门学习的一些基础知识总结,包括检查点设置、对象探测器使用、模板创建、条件语句、常用控件及属性以及等待时间的设置等内容。通过这些知识的学习,可以帮助初学者更好地掌握QTP的基本操作和测试脚本的编写技巧。




















