使用QTP对Flight的登录界面进行测试
一、测试用例设计
现在使用QTP对案例程序进行测试,

设计测试用例的要求为:
- 用户名长度大于等于6个字符
- 必须为字母[o-z,O-Z]和数字[0-9]组成
- 不能为空,空格或者特殊字符
- 正确的密码为:MERCUR
|
序号: |
1 |
||||
|
控件名称: |
Agent Name/Password |
||||
|
功能描述: |
登陆 |
||||
|
编号 |
输入/动作 |
输入数据 |
期望的输出/相应 |
实际情况 |
|
|
1 |
使用合法用户名和密码登陆 |
用户名:”Wyl123” 密码: “MERCURY” |
登陆成功 |
||
|
2 |
使用错误的用户名或密码登陆 |
用户名:”Wyl123” 密码: “MERCUR1” |
显示用户名或密码错误提示信息 |
||
|
3 |
用户名为空登陆 |
用户名:不输入 密码: “MERCURY” |
显示请输入用户名提示信息 |
||
|
4 |
改变合法用户名的长度登陆 |
用户名:“wyl” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
||
|
5 |
使用超长的用户名登陆 |
用户名:“wyl1*100”(100个1) 密码: “MER” |
显示用户名或密码错误提示信息 |
||
|
6 |
使用超长的密码登陆 |
用户名:“wyl123”(100个1) 密码: “MER1*100”(100个1) |
显示用户名或密码错误提示信息 |
||
|
7 |
使用小写的合法密码登陆 |
用户名:”Wyl123” 密码: “mercury” |
显示用户名或密码错误提示信息 |
||
|
8 |
在合法用户名或密码前插入空格 |
用户名:“ wyl123” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
||
|
9 |
在合法用户名或密码中间插入空格 |
用户名:“wyl 123” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
||
|
10 |
在合法用户名或密码后插入空格 |
用户名:“wyl123 ” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
||
|
11 |
登陆界面是否支持快捷键,如Tab,Enter键 |
输入TAB,切换位置 Enter直接登陆 |
Tab键能按照顺序切换焦点,Enter键能焦点于登陆按钮上 |
||
|
12 |
密码为空进行登陆 |
用户名:“wyl123 ” 密码: 不输入 |
显示请输入密码,密码不能为空提示信息 |
||
|
13 |
用户名和密码均为空登陆 |
用户名:不输入 密码: 不输入 |
显示请输入用户名和密码提示信息 |
||
|
14 |
用户名中含有全角字符登陆 |
用户名:“sdfsf” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
||
|
15 |
密码中含有全角字符登陆 |
用户名:“wyl123” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
||
|
16 |
用户名中含有特殊字符 |
用户名:“wyl#@” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
||
|
17 |
用户名中含有中文 |
用户名:“wyl王同学” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
||
二、录制测试脚本
新建一个Test,

点击“Record”,进行脚本的录制

选择“Application specified below”,选择“+”配置要测试程序的路径


默认路径为:
C:\Program Files (x86)\HP\QuickTest Professional\samples\flight\app\flight4a.exe
C:\Program Files (x86)\HP\QuickTest Professional\samples\flight\app

点击“确定”则QTP自动启动案例程序,此时QTP只监视flight的一举一动。

根据以上的测试用例进行测试

三、测试脚本
Dialog("Login").WinEdit("Agent Name:").Set "wyl123"
Dialog("Login").WinEdit("Password:").Type "M"
Dialog("Login").WinEdit("Password:").SetSecure "53d4bb9a29dff7a9311e6eb1f77c175bed883a1a39b0"
Dialog("Login").WinButton("OK").Click
Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").WinEdit("Agent Name:").SetSelection 0,6
Dialog("Login").WinEdit("Agent Name:").Set ""
Dialog("Login").WinEdit("Password:").Type "M"
Dialog("Login").WinEdit("Password:").Type "ervcury"
Dialog("Login").WinEdit("Password:").SetSecure "53d4bba85680db792cc5f22452624b4a65a57187"
Dialog("Login").WinButton("OK").Click
Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").WinEdit("Password:").SetSelection 0,7
Dialog("Login").WinEdit("Password:").SetSecure "53d4bbae561a"
Dialog("Login").WinButton("OK").Click
Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").Activate
Dialog("Login").WinEdit("Agent Name:").Set " wy123"
Dialog("Login").WinEdit("Agent Name:").Set " wy123"
Dialog("Login").WinEdit("Agent Name:").Set " wy1 23"
Dialog("Login").WinEdit("Password:").SetSecure "53d4bc69999487bbb56c5631f830a6420e0dadf8"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Click 44,4
Window("Flight Reservation").Activate
Window("Flight Reservation").Close
Dialog("Login").WinEdit("Agent Name:").Type "WY"
Dialog("Login").WinEdit("Agent Name:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinEdit("Password:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
Dialog("Login").WinEdit("Agent Name:").Set "wyl123"
Dialog("Login").WinEdit("Password:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinButton("OK").Click
Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").WinEdit("Agent Name:").SetSelection 0,6
Dialog("Login").WinEdit("Agent Name:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinEdit("Password:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
Dialog("Login").WinEdit("Agent Name:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinEdit("Password:").Type micCtrlDwn + "v" + micCtrlUp
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
Dialog("Login").WinEdit("Agent Name:").Type "l1111111111111111111111111111"
Dialog("Login").WinEdit("Agent Name:").Type "11111111111111111111111111111"
Dialog("Login").WinEdit("Agent Name:").Type "11111111111111111111111111111"
Dialog("Login").WinEdit("Agent Name:").Type "11111111111111111111111111111"
Dialog("Login").WinEdit("Agent Name:").Set "1111111111"
Dialog("Login").WinEdit("Password:").SetSecure "53d4bbd18ce7278d5b0961d4391b05f23c84e274"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
四、测试结果:
|
序号: |
1 |
||||
|
控件名称: |
Agent Name/Password |
||||
|
功能描述: |
登陆 |
||||
|
编号 |
输入/动作 |
输入数据 |
期望的输出/相应 |
实际情况 |
|
|
1 |
使用合法用户名和密码登陆 |
用户名:”Wyl123” 密码: “MERCURY” |
登陆成功 |
登陆成功 |
|
|
2 |
使用错误的用户名或密码登陆 |
用户名:”Wyl123” 密码: “MERCUR1” |
显示用户名或密码错误提示信息 |
密码错误,请重试 |
|
|
3 |
用户名为空登陆 |
用户名:不输入 密码: “MERCURY” |
显示请输入用户名提示信息 |
请输入用户名 |
|
|
4 |
改变合法用户名的长度登陆 |
用户名:“wyl” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
用户名不能少于4个字符 |
|
|
5 |
使用超长的用户名登陆 |
用户名:“wyl1*100”(100个1) 密码: “MER” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
6 |
使用超长的密码登陆 |
用户名:“wyl123”(100个1) 密码: “MER1*100”(100个1) |
显示用户名或密码错误提示信息 |
密码错误,请重试 |
|
|
7 |
使用小写的合法密码登陆 |
用户名:”Wyl123” 密码: “mercury” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
8 |
在合法用户名或密码前插入空格 |
用户名:“ wyl123” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
9 |
在合法用户名或密码中间插入空格 |
用户名:“wyl 123” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
10 |
在合法用户名或密码后插入空格 |
用户名:“wyl123 ” 密码: “MERCURY” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
11 |
登陆界面是否支持快捷键,如Tab,Enter键 |
输入TAB,切换位置 Enter直接登陆 |
Tab键能按照顺序切换焦点,Enter键能焦点于登陆按钮上 |
支持 |
|
|
12 |
密码为空进行登陆 |
用户名:“wyl123 ” 密码: 不输入 |
显示请输入密码,密码不能为空提示信息 |
请输入密码 |
|
|
13 |
用户名和密码均为空登陆 |
用户名:不输入 密码: 不输入 |
显示请输入用户名和密码提示信息 |
请输入用户名 |
|
|
14 |
用户名中含有全角字符登陆 |
用户名:“sdfsf” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
15 |
密码中含有全角字符登陆 |
用户名:“wyl123” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
密码错误,请重试 |
|
|
16 |
用户名中含有特殊字符 |
用户名:“wyl#@” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
|
17 |
用户名中含有中文 |
用户名:“wyl王同学” 密码:“MERCURY” |
显示用户名或密码错误提示信息 |
正常登陆 |
|
使用QTP对Flight的登录界面进行测试的更多相关文章
- AJAX实现登录界面
使用php跳转界面和AJAX都可实现登录界面的跳转的登录失败对的提醒.但是,php跳转的方式 需要额外加载其他界面,用户体验差.AJAX可实现当前页面只刷新需要的数据,不对当前网页进行 重新加载或者是 ...
- android内部培训视频_第五节(1)_OA实战之登录界面
第五节(1):OA实战之登录界面 一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:androi ...
- C#-WebForm-Session、Cookie-登录验证(未登录跳至登录界面)、隐藏地址栏传值
Post 传值(看不见的传值) Get 传值(看得见的传值) Session - 全局变量组 存放位置:服务端 作用:只要里面有内容,那么这个网站中所有的C#端都能访问到这个变量 -- object类 ...
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...
- 很漂亮的用户登录界面HTML模板
效果预览:http://keleyi.com/keleyi/phtml/divcss/21.htm HoverTree开源项目实现了分层后,准备实现管理员后台登录,这里先把登录界面的HTML模板整理好 ...
- Cookie案例:简单登录界面中的应用
ServletDemo1.java package ztq.servlet.study; import java.io.IOException; import java.io.PrintWriter; ...
- android 案例二 登录界面
效果图: 运行图: 总结: 编写这个简单的用户登录界面,主要用到了以下的知识: java基础中的IO流的操作 用以读取.显示用户的信息 Android布局 线性布局和相对布局 数据的存储选在包 ...
- Android之QQ登录界面
首先过程中碰到的几个问题: 1.对 EditText 进行自定义背景 2.运行时自动 EditText 自动获得焦点 3.在获得焦点时即清空 hint ,而不是输入后清空 4.清空按钮的出现时机(在得 ...
- C#学习笔记-Windows窗体基本功能(Login登录界面)
本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...
随机推荐
- asp.net批量删除XML节点失败的原因及解决办法
今天操作XML的时候,用到了批量循环删除节点.出现了问题,即循环未结束,程序就跳出循环.搞了好久才弄明白. 解决前的代码: XmlNodeList items = xn.ChildNodes; //获 ...
- SET Statements (Transact-SQL)
The Transact-SQL programming language provides several SET statements that change the current sessio ...
- java实现读取文件内容(不同类型)
在一些项目中大量的数据经常需要从文件中读取,例如xml文件,txt文件,csv文件 1.读取本地的xml文件,需要注意对应的路径 //读取xml文件,xmlFile为读取文件的路径 DocumentB ...
- 高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件
高性能Linux服务器 第6章 ext3文件系统反删除利器ext3grep extundelete工具恢复rm -rf 误删除的文件 只能用于ext3文件系统!!!!!!!高俊峰(高性能Linux ...
- UCenter uc_user_synlogin同步登陆返回值为空(NULL)的解决办法 及 ucenter原理
第一种方法最近刚刚接触UCenter,很多问题不是很理解,只是在摸索着.尝试着做,就在刚才有解决了一个问题,虽然不知道解决问题的具体原理,但是还是实现了同步登陆.首先我是在本地测试的,也就是local ...
- javascript设计模式学习之十五——装饰者模式
一.装饰者模式定义 装饰者模式可以动态地给某个对象添加一些额外的职责,而不会影响从这个类中派生的其他对象.这种为对象动态添加职责的方式就称为装饰者模式.装饰者对象和它所装饰的对象拥有一致的接口,对于用 ...
- pptp建立vpn
1. 安装依赖 ppp yum -y install ppp 2. 编译安装pptpd wget http://jaist.dl.sourceforge.net/project/poptop/pptp ...
- Java知多少(19)访问修饰符(访问控制符)
Java 通过修饰符来控制类.属性和方法的访问权限和其他功能,通常放在语句的最前端.例如: 1 public class className { 2 // body of class 3 } 4 pr ...
- decimal类型保留两位小数
oj.PriceTop =Math.Round(Convert.ToDecimal(reader["PriceTop"]),2);
- for循环、for循环嵌套
循环:反复执行某段代码. 循环四要素:初始条件,循环条件,循环体,状态改变. 循环的最后一句:循环条件不再满足. 1.找出100以内与7有关的数并打印:(1).从1找到100(2).找出与7有关的数 ...