使用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#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请 ...
随机推荐
- js- 千分位分割
// 千分位 console.log(split3str("123456789")) function splitByReg3(str) { var re = /(\d{1,3}) ...
- 在CentOS下企图整合Apache和Tomcat依然失败
环境: 64位CentOS Linux version 2.6.32-431.el6.x86_64 CentOS release 6.5 (Final) Apache/2.2.15,mod_jk/1 ...
- grok
http://udn.yyuap.com/doc/logstash-best-practice-cn/filter/grok.html
- 使用TortoiseGit将代码上传到bitbucket
首先需要有一个bitbucket的账户,这是无疑问的. 比如我本地有一个项目,项目名是 我想把这个项目托管到bitbucket上! 1.首先在bitbucket上创建一个仓库,注意仓库的名字要和项目的 ...
- 个人常用iOS第三方库以及XCode插件介绍
第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...
- A股中为什么有涨幅超过10%的
在A股规定涨跌幅10%的正常交易日中,某些股票的涨跌幅却超出或没达到10%的,原因是因为A股的交易中最小的价格“申报单位为0.01元”,就是说某些股票不管什么价格都不会刚刚好是10%,它只能“取最近于 ...
- ELK-Python(二)
不具有通用性,留作纪念. [root@GXB-CTRLCENTER python]# cat insert_pv.py #!/usr/bin/env python # -*- coding:utf-8 ...
- ant简述
1,什么是antant是构建工具2,什么是构建概念到处可查到,形象来说,你要把代码从某个地方拿来,编译,再拷贝到某个地方去等等操作,当然不仅与此,但是主要用来干这个3,ant的好处跨平台 --因为 ...
- jenkins 邮件配置步骤
一.进行系统管理中的邮件配置步骤: 1.设置Extended E-mail Notification 二.对构建的job 添加邮件发送的步骤: 3.成功截图:
- Java对日期Date类进行加减运算,年份加减,月份加减
import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date; public class Da ...