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

QTP脚本之登录中含下拉框

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

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

g"ftA ^"H)g_0

脚本目标:测试公司自主研发的测试管理软件TMT的登录页面的功能51Testing软件测试网(r,b Z`n!`5X

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

0a:[#V%no4G;wy0

 51Testing软件测试网}Z-y)C1g&J,r

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

4l;u`f8m8a,EX0

登录名:input51Testing软件测试网gC2Kq:H n#g

密码:input and password51Testing软件测试网o/e4b,u v*l

数据库:weblist51Testing软件测试网YQ;M6LdD

下面我们来看看登录的运行流程(这里没有考虑登录名与数据库的权限关联问题,因为我们这个系统,测试人员都可以登录每个数据库的)

$TQI^\0

1,正确的用户名->正确的密码->任意下拉框的值->主页->退出链接51Testing软件测试网K"s'C ]9Z/_

2,错误的用户名->或错误的密码->任意下拉框的值->登录失败51Testing软件测试网E1ba*GI&A b

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

^)UOoxIuK0

第一步,让我们开始登录脚本吧.录制的流程可以按1来录制51Testing软件测试网%KM;U!OX+@_#XEZ

 脚本内容略51Testing软件测试网Xc7aS3| R

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

]7|5aBB F0

 详细步骤略

WW7z {K$g0

Gloloal表中的内容为51Testing软件测试网K2|j Q~ A&x

    UserName      Password       iStatus

XS,DV#e\mJ0

    Qwen            qwen                                  空代表正确登录

g6c9WZ'xr!Z#n:\0

    Qwen1         qwen                 no     ‘no代表不能登录51Testing软件测试网2t9w;`(i m mM

    Qwen2           qwen                 no

*kY%?$e&H]/vF:M0

第三步,修改脚本51Testing软件测试网}PJ!Q;]8ZY)l

按我们上面分析的内容进行修改,修改后的脚本内容如下:51Testing软件测试网p8XgiR w%o#w

Dim ItemsCount 'ItemCount用于获取下拉框的项数51Testing软件测试网+{DW+~:Q0{%u.Z \;Ul

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

1Jk9dW!xW0

ItemsCount=Browser("TMT系统登录").Page("TMT系统登录").WebList("select").GetROProperty("items count")51Testing软件测试网!az7\N^;h:r!e

For i=0 to ItemsCount-1 step 1 '每一个用户名都重复一次下拉框中的内容,每次步长增长151Testing软件测试网,_ T&A,`,K;n%r7NPH

      Browser("TMT系统登录").Page("TMT系统登录").WebEdit("WebEdit").Set DataTable("userName", dtGlobalSheet)’参数化用户名51Testing软件测试网N _?V$j i1{,q'@

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

Nt8zr d)N0

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

*x\ L8t4O3V^+Wi.K0

      Browser("TMT系统登录").Page("TMT系统登录").WebList("select").Check CheckPoint("select") '检查下拉框select的数量

\aL,i;V0

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

l6r9Cby7mj#C6I0

      Browser("TMT系统登录").Page("TMT系统登录").WebButton("").Click’登录按钮51Testing软件测试网]8kzz4x F

      Dim iStatus'用于判断数据的状态51Testing软件测试网@#r"q#b~)O|Kj.R\

      iStatus=DataTable("status",dtGlobalSheet)

+B Nw'LG*L(x5oP0

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

$s1p({n6N/U0

             Browser("TMT系统登录").Page("全部任务").Sync

*X w1H,w1C.o,\zvaq0

             Browser("TMT系统登录").Page("全部任务").Link("退出系统").Click'退出链接或者重新打开登录页面51Testing软件测试网-el6N P[#j_3O zoz

             'Browser("TMT系统登录").Page("TMT系统登录").Sync51Testing软件测试网4v"|#s m~2d)G }

      elseIf iStatus="no" Then51Testing软件测试网Cl1U0L9OL3V

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

LtXt~@`a}#iZ0

             Browser("TMT系统登录").Page("TMT系统登录").Sync'重新加载该页,这里很关键,如果不重新加载该页,会报错

/WFQtOG\0

      End If

Eb1M)B\"u?:C9[6d8K0

Next51Testing软件测试网 Gd@0?*K2@J

  'Browser("TMT系统登录").Close ‘运行完成后,关闭系统51Testing软件测试网7b4kwF&Hi)D;i

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

&K#LDHPP w0

第五步:接下来我们就应该完善表中的值了,N多种情况进行细划51Testing软件测试网%f3qHEC%I7Q k

 

EJW5~G0

 

;oH7J;NI o _4QD0

qwen 2010-4-1651Testing软件测试网^-F[O;E8rDKu


TAG:

 

评分:0

我来说两句

Open Toolbar