使用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#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...
随机推荐
- animate实现动画效果
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- SQL2000的Enterprise Edition和Developer Edition有什么区别
1.SQL Server 2000 Enterprise Edition(企业版) 该版本具有强大的可伸缩性和可靠性,可作为大型WEB站点.企业联机事务处理(OLTP)以及数据仓库系统等数据库产品的服 ...
- GitHub 客户端
GitHub客户端下载官网:https://desktop.github.com/ GitHubFlow:https://guides.github.com/introduction/flow/ 客户 ...
- @JsonProperty的使用
jackson的maven依赖 <dependency> <groupId>com.fasterxml.jackson.core</groupId> <art ...
- http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/
http://tedhacker.top/2016/08/05/Spring%E7%BA%BF%E7%A8%8B%E6%B1%A0%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%9 ...
- iOS 应用程序的生命周期(转CocoaChina)
对于iOS应用程序,关键是要知道你的应用程序是否正在前台或后台运行.由于系统资源在iOS设备上较为有限,一个应用程序必须在后台与前台有不同的行为.操作系统也会限制你的应用程序在后台的运行,以提高电池寿 ...
- Linux就这个范儿 第8章 我是Makefile
Linux就这个范儿 第8章 我是Makefile P287 Makefile的作用就是——自动化编译,一旦写好,只需要一个make命令(解析Makefile,执行Makefile中描述的操作),整个 ...
- Flume-ng+Kafka+storm的学习笔记
Flume-ng Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统. Flume的文档可以看http://flume.apache.org/FlumeUserGuide.html ...
- java中清空session
session.removeAttribute("sessionname")是清除SESSION里的某个属性. session.invalidate()是让SESSION失 ...
- EBS安装提示libXtst.so.6: cannot open shared object file
$ ./rapidwiz Rapid Install Wizard is validating your file system...... CMDDIR=/app/Stage122/startCD/ ...