csdn博客:http://blog.csdn.net/qwentest

QTP脚本之登录中含下拉框

上一篇 / 下一篇  2010-04-16 10:57:53 / 个人分类:Bug那些事儿

好久没有写博文了,最近一段时间公司准备要做功能自动化测试,所以一直都在学习QTP的使用,不过以前没有学过VBScript,他的语法和特点着实让我痛苦了一翻,不过还好天下编程是一家,终究还是解决了前段时间遇到的问题.

Eas,hg ovZhd0

脚本目标:测试公司自主研发的测试管理软件TMT的登录页面的功能51Testing软件测试网1FM,u$N4` GN{&RA

软件环境:B/S系统,aspx,IIS,内网环境

,[y8K:`!Ag x:H+h#yH:a0

 

)kLT ~E] KG+j0

下面我们来看看这个登录页面,其它登录页面有啥不同

c4w5oO1?M0

登录名:input

r3} ^V}4cX"P5H0

密码:input and password51Testing软件测试网e[0vK1]N+^

数据库:weblist

jMNZ|9b0

下面我们来看看登录的运行流程(这里没有考虑登录名与数据库的权限关联问题,因为我们这个系统,测试人员都可以登录每个数据库的)51Testing软件测试网qy3TR&F_;K$x ]F

1,正确的用户名->正确的密码->任意下拉框的值->主页->退出链接

eBE~F ~c0

2,错误的用户名->或错误的密码->任意下拉框的值->登录失败51Testing软件测试网.iCmevus

从上面分析可知,脚本的难点在于每个用户都要执行下拉框中的每个值,保证每个正确用户名都可以登录每个数据库,每个错误的用户名都不能任意数据库.(其实也就是一个for循环,呵呵)

'wN)l HK!G.M0

第一步,让我们开始登录脚本吧.录制的流程可以按1来录制

Zp!vwx,m:pa0

 脚本内容略

{da2_3]%R a0

第二步,添加检查点,以及用户名和密码的参数化,这里用户名和密码从Gloloal表中获取,Gloloal表中的数据的设置很关键,数据设置的如何,间接影响了测试效果的如何.另外,在表中建一列iStatus,用于验证数据的正确性51Testing软件测试网 R(|c|c\s-`a

 详细步骤略

2{FQ(H3WM` Jv%D)N0

Gloloal表中的内容为51Testing软件测试网 mvm `k1Mz$l6U~:p

    UserName      Password       iStatus51Testing软件测试网m ])Pc;Z'Ur

    Qwen            qwen                                  空代表正确登录51Testing软件测试网piW+~C Xq

    Qwen1         qwen                 no     ‘no代表不能登录51Testing软件测试网%O%y|P YL*}@I

    Qwen2           qwen                 no

.\Fkr'MX0

第三步,修改脚本

hw#f n!z0

按我们上面分析的内容进行修改,修改后的脚本内容如下:

l ^w}%U+cu `0

Dim ItemsCount 'ItemCount用于获取下拉框的项数51Testing软件测试网%]QG%H:mb7E0T/?

Dim I '用于设置循环中的初值

"hz!U0U5aq0

ItemsCount=Browser("TMT系统登录").Page("TMT系统登录").WebList("select").GetROProperty("items count")

Vtq6`-qCb[2G5r0

For i=0 to ItemsCount-1 step 1 '每一个用户名都重复一次下拉框中的内容,每次步长增长1

.j'X:IaFG6``l0

      Browser("TMT系统登录").Page("TMT系统登录").WebEdit("WebEdit").Set DataTable("userName", dtGlobalSheet)’参数化用户名51Testing软件测试网h}R7N"SXZ {

      Browser("TMT系统登录").Page("TMT系统登录").WebEdit("WebEdit_2").Check CheckPoint("WebEdit_2")'检查密码框的password属性

Ua3eDg0hwO,K0

      Browser("TMT系统登录").Page("TMT系统登录").WebEdit("WebEdit_2").SetSecure DataTable("passWord", dtGlobalSheet)’参数化密码

qd5A8{p4j u"`2Q0

      Browser("TMT系统登录").Page("TMT系统登录").WebList("select").Check CheckPoint("select") '检查下拉框select的数量51Testing软件测试网C t.N2C@&@ E

      Browser("TMT系统登录").Page("TMT系统登录").WebList("select").Select I ‘获取下拉框中的值

0r"Hp4cL?}7tj:k2W0

      Browser("TMT系统登录").Page("TMT系统登录").WebButton("").Click’登录按钮51Testing软件测试网l+^cG@pX

      Dim iStatus'用于判断数据的状态

y_x$}p's1f!b0

      iStatus=DataTable("status",dtGlobalSheet)51Testing软件测试网 e\*{b)WO}4Q;qP

      If iStatus="" and I<>0 Then’由于下拉框中的第一项为请选择数据库”,所以这项得排除正确登录的流程

K] O Ft0

             Browser("TMT系统登录").Page("全部任务").Sync51Testing软件测试网)I"tt0L {U$W _"j

             Browser("TMT系统登录").Page("全部任务").Link("退出系统").Click'退出链接或者重新打开登录页面51Testing软件测试网5H A hEtJ

             'Browser("TMT系统登录").Page("TMT系统登录").Sync51Testing软件测试网:w'I#|9J:y

      elseIf iStatus="no" Then51Testing软件测试网`,`m_2m{%Q

             Reporter.ReportEvent micPass,"登录","登录失败" 'micFail结果判断为fail,micPass结果判断为pass,由于登录失败是我们想要的结果,所以在报告中使其结果判断为pass

0P4}k(`8Xf_0

             Browser("TMT系统登录").Page("TMT系统登录").Sync'重新加载该页,这里很关键,如果不重新加载该页,会报错51Testing软件测试网#YEFI+Of

      End If

fs ue3N1V\ j0

Next51Testing软件测试网$l&^D/S0e9k

  'Browser("TMT系统登录").Close ‘运行完成后,关闭系统51Testing软件测试网h'A7An&^2j O

第四步:运行脚本,查看所采用的测试值,结果全pass

D c"d5Q6Qa`o0

第五步:接下来我们就应该完善表中的值了,N多种情况进行细划51Testing软件测试网/i C7r&L'G {_SD3_N

 

d Z#KF_vp0

 

@X3fs3~p2a*a?0

qwen 2010-4-1651Testing软件测试网"u6to;[w o/G vE#T


TAG:

 

评分:0

我来说两句

Open Toolbar