使用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#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...
随机推荐
- IN和exists 之间的比较
IN和exists 之间的比较 NOT IN 和 NOT EXISTS之间的比较
- iOS UIApplicationDelegate
1.- (void)applicationWillResignActive:(UIApplication *)application说明:当应用程序将要入非活动状态执行,在此期间,应用程序不接收消息或 ...
- 每日目标——HTML 头部标签学习 2015-8-27
<head> <title>bp</title> <meta http-equiv="Content-Type" content=&quo ...
- iOS:app直播---原理篇
[如何快速的开发一个完整的iOS直播app](原理篇) 转载自简书@袁峥Seemygo:http://www.jianshu.com/p/7b2f1df74420 一.个人见解(直播难与易) 直播 ...
- axis2 WebService的发布与调用
1:准备: JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk6downloads-1902814.html e ...
- iOS系统版本简介
iOS系统版本简介 ⽬目前iOS设备所⽀支持的最主流操作系统是iOS6,⼤大概占了93%,⽽而使 ⽤用iOS5的iOS设备⼤大概占6%,剩下的只有1%.( 根据苹果的官⽅方数据 ) 从iOS1到现在的 ...
- Power-BI 主要城市商品房销售分析
经常在网上看到有关房价的讨论,房价可能真的悬了,高房价撑不了多久,一线城市房价远高于国际,暴涨游戏该结束了,等等.那么近年来房价整体上究竟是一个什么样的状态?今天我们撇开宏观经济要素,来看看近年来主要 ...
- Java 继承 执行顺序
代码: package com.company; public class Main { public static void main(String[] args) { new MyClass(); ...
- ORACLE数据库用户账号处于expired状态如何处理
账户过期,必须要用户更改密码, 账户才能重新使用. 但有些时候, 因为各种原因, 我们并不知道原密码的明文是什么,但很多时候又不能修改已有密码,好在可以用原密码来更改密码. 在11G中,dba_use ...
- 对jsp可见域的变量感悟
page 变量当前页面有效 reqeust 某次请求中的变量有效 session 某次会话中的变量有效 application 全站有效 page<request<session< ...