使用QTP进行功能测试

简介: 测试QTP自带的C/S应用程序Flight.exe。Flight应用程序登录模块需求说明:用户名、密码均为长度至少为4位的非空字符,密码值为mercury。针对用户名、密码的不同出错情况,有不同的错误信息提示(详见Flight.exe)。

测试一

测试QTP自带的C/S应用程序Flight.exe。

Flight应用程序登录模块需求说明:用户名、密码均为长度至少为4位的非空字符,密码值为mercury。针对用户名、密码的不同出错情况,有不同的错误信息提示(详见Flight.exe)。

(1)针对Flight范例程序,使用等价类划分法完成登录模块的测试用例设计,写出测试用例表Login_TestCases;

(2)对用户登录过程进行脚本录制,回放无误后,保存测试脚本为login_Test1。  

(3)打开脚本login_Test1,编辑脚本(提示:用到了参数化、VBScript的if结构、添加操作步骤等知识点),使用测试用例表Login_TestCases,完成对Flight程序登录模块的测试,运行测试无误后保存测试脚本为login_Test2。

(4)导出word类型测试报告,保存为LoginTest_Report。

(5)在学习通实验报告题目2中上传一个Word类型附件,其中包含:测试用例表Login_TestCases,测试脚本login_Test1,测试脚本login_Test2,测试报告LoginTest_Report。

[评论可见]隐藏内容 - 管理员可见

测试用例

TCID username password errMsg
TC01 mercury mercury  
TC02 mercury Please enter agent name
TC03 mer mercury Agent name must be at least 4 characters long.
TC04 mercury Please enter password
TC05 mercury mer Password must be at least 4 characters long
TC06 mercury mercuryy Incorrect password. Please try again

Login_Test1

Dialog("Login").WinEdit("Agent Name:").Set "mercury"

Dialog("Login").WinEdit("Password:").SetSecure "6279d40620ad0d3c25f99b9f7dd3129e8a8302e6"

Dialog("Login").WinButton("OK").Click

Window("Flight Reservation").Close

Login_Test2

Systemutil.Run("C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe")

Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)

Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet)

Dialog("Login").WinButton("OK").Click

Dim expectMsg '期望值

Dim actualMsg  '实际值

expectMsg=DataTable("errMsg", dtGlobalSheet)

if(Window("Flight Reservation").Exist(2))then'如果主界面存在

reporter.ReportEvent micPass,DataTable("TCID", dtGlobalSheet),"测试通过"

Window("Flight Reservation").Close

else'如果主界面不存在

actualMsg=Dialog("Login").Dialog("Flight Reservations").Static("Please enter agent name").GetROProperty("Text")

if(actualMsg=expectMsg)then

reporter.ReportEvent micPass,DataTable("TCID", dtGlobalSheet),"测试通过"

Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click

Dialog("Login").WinButton("Cancel").Click

else

reporter.ReportEvent micFail,DataTable("TCID", dtGlobalSheet),"测试不通过"

Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click

Dialog("Login").WinButton("Cancel").Click

end if

end if

测试二

对某应用的信息注册模块(详见Flight.exe)进行测试


需求描述:

u  姓名:1——20个英文字符(或10个中文),不能包含数字,不能为空

u  年龄:18——60之间的整数,不能为空

u  如果填写信息正确,给出如图提示信息,并在“注册信息”文本框中输出相应注册信息

u  如果信息填写错误,给出相应的错误提示信息

要求:

(1)使用等价类划分法完成该信息注册模块的测试用例设计,写出测试用例表Reg_TestCases;

(2)对信息注册过程进行脚本录制,回放无误后,保存测试脚本为Reg_Test1。  

(3)打开脚本Reg_Test1,编辑脚本(提示:用到了参数化、VBScript的if结构、添加操作步骤等知识点),使用测试用例表Reg_TestCases,完成对信息注册模块的测试,运行测试无误后保存测试脚本为Reg_Test2。

(4)导出测试报告,保存为RegTest_Report。

(5)在学习通实验报告题目3中上传一个Word类型附件,其中包含:测试用例表Reg_TestCases,测试脚本Reg_Test1,测试脚本Reg_Test2,测试报告RegTest_Report

[评论可见]隐藏内容 - 管理员可见

测试用例

TestID UserName UserAge TipMsg
TC001 abc 22 姓名:abc年龄:22注册成功!
TC002 sdnvdjsnvsjkvnsjkvnfsjkvnksfjvnjdkfjf 30 姓名不能超过20个字符!
TC003 西瓜苹果西瓜苹果西瓜苹果西瓜苹果西瓜苹果西瓜苹果西瓜 30 姓名不能超过20个字符!
TC004 123456 40 姓名不能包含数字!
TC005 50 姓名不能为空!
TC006 abc 年龄不能为空!
TC007 abc a 年龄非法!
TC008 abc 年龄 年龄非法!
TC009 abc # 年龄非法!
TC010 abc 22.2 年龄不能为小数!
TC011 abc 79 年龄不能小于18或大于60!
TC012 abc 0 年龄不能小于18或大于60!

Reg_Test1

Window("信息注册").WinObject("ThunderRT6TextBox").Type "abc"

Window("信息注册").WinObject("ThunderRT6TextBox_2").Click 35,5

Window("信息注册").WinObject("ThunderRT6TextBox_2").Type "20"

Window("信息注册").WinObject("注册").Click 53,14

Window("信息注册").Dialog("注册成功").WinButton("确定").Click

Window("信息注册").WinObject("退出").Click 39,17

Window("信息注册").Dialog("退出提示").WinButton("确定").Click

Reg_Test2

Systemutil.Run("C:\Documents and Settings\Administrator\桌面\信息注册(版本1.2).exe")

Window("信息注册").WinObject("ThunderRT6TextBox").Type DataTable("UserName", dtGlobalSheet)

Window("信息注册").WinObject("ThunderRT6TextBox_2").Click 35,5

Window("信息注册").WinObject("ThunderRT6TextBox_2").Type DataTable("UserAge", dtGlobalSheet)

Window("信息注册").WinObject("注册").Click 53,14

Dim expectmsg

expectmsg=DataTable("TipMsg", dtGlobalSheet)

Dim actualmsg

if(Window("信息注册").Dialog("注册成功").Exist(2)) then

actualmsg=Window("信息注册").Dialog("注册成功").Static("姓名:abc,年龄:20,注册成功!").GetROProperty("Text")

Window("信息注册").Dialog("注册成功").WinButton("确定").Click

else

actualmsg=Window("信息注册").Dialog("错误提示").Static("姓名不能为空!").GetROProperty("Text")

Window("信息注册").Dialog("错误提示").WinButton("确定").Click

end if

if(actualmsg=expectmsg) then

reporter.ReportEvent micPass,DataTable("TestID", dtGlobalSheet),"测试通过"

else

reporter.ReportEvent micFail,DataTable("TestID", dtGlobalSheet),"测试不通过"

end if

Window("信息注册").WinObject("退出").Click 39,17

Window("信息注册").Dialog("退出提示").WinButton("确定").Click

测试三

测试B/S应用Web Tours网站(http://127.0.0.1:1080/WebTours/)


(1)熟悉Mercury Tours范例网站,并注册以下用户:

(2)使用Mercury Tours范例网站录制“登录”过程(登录用户名:a,密码:a),录制完成并且运行无误后保存脚本,文件名为test1;

(3)编辑测试脚本,添加查看已订票信息的操作,并保存、回放脚本,运行无误后,把文件另存为test2;

(4)打开脚本“test2”,分别插入图像检查点(检测hp图标是否正确显示)、标准检查点(登陆成功后Sign-Off是否成功显示)。运行无误后,把文件另存为test3;

(5)打开脚本“test3”,并在DataTable的Action工作簿里添加以下表中的数据,编辑脚本(用户名、密码的参数化),完成测试,运行无误后把文件另存为“test4”;

(6)打开脚本“test3”,并在DataTable的Global工作簿里导入Excel工作表1.xls中sheet1的数据值(注:其中包含合法用户和非法用户),完成“用户名”和“密码”的参数化,运行无误后把文件另存为“test5”(注:需要添加操作步骤,完成对非法用户的测试)。

(7)打开脚本“test1”,添加事务,查看并记录用户登录系统所用的时间,运行无误后把文件另存为“test6”。

(8)在学习通实验报告题目4中上传一个Word类型附件,其中包含:test1、test2、test3、test4、test5、test6。

[评论可见]隐藏内容 - 管理员可见

Test1

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set "a"

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure "627ba57fd62d3ec1"

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 46,7

Test2

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set "a"

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure "627c87a997771702"

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 44,13

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click

Test3

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set "a"

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure "627c8b4a0967646c"

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 56,12

Browser("Web Tours").Page("Web Tours").Frame("header").Image("hp_logo").Check CheckPoint("hp_logo")

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("SignOff Button").Check CheckPoint("SignOff Button")

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click

Test4

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set DataTable("UserName", dtGlobalSheet)

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure DataTable("PassWord", dtGlobalSheet)

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 56,12

Browser("Web Tours").Page("Web Tours").Frame("header").Image("hp_logo").Check CheckPoint("hp_logo")

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("SignOff Button").Check CheckPoint("SignOff Button")

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click

Test5

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set DataTable("UserName", dtGlobalSheet)

Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure DataTable("PassWord", dtGlobalSheet)

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 56,12

Dim expectmsg

expectmsg=DataTable("TipMsg", dtGlobalSheet)

Dim actualmsg

if(Browser("Web Tours").Page("Web Tours").Frame("info").WebElement("Web Tours Error - Incorrect").Exist(3))then

actualmsg=Browser("Web Tours").Page("Web Tours").Frame("info").WebElement("Web Tours Error - Incorrect").GetROProperty("innertext")

if(actualmsg=expectmsg)then

reporter.ReportEvent micPass,DataTable("TestID", dtGlobalSheet),"测试通过"

else

reporter.ReportEvent micFail,DataTable("TestID", dtGlobalSheet),"测试不通过"

end if

else

Browser("Web Tours").Page("Web Tours").Frame("header").Image("hp_logo").Check CheckPoint("hp_logo")

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("SignOff Button").Check CheckPoint("SignOff Button")

Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click

end if

 

目录
相关文章
|
测试技术
软件测试面试题:QTP中的Action有什么作用?有几种?
软件测试面试题:QTP中的Action有什么作用?有几种?
137 0
|
测试技术
软件测试面试题:使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况\/查询情况,如何操作?
软件测试面试题:使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况\/查询情况,如何操作?
100 0
|
测试技术 数据格式 XML