好久没有写博文了,最近一段时间公司准备要做功能自动化测试,所以一直都在学习QTP的使用,不过以前没有学过VBScript,他的语法和特点着实让我痛苦了一翻,不过还好天下编程是一家,终究还是解决了前段时间遇到的问题.
Eas,hg ovZhd0脚本目标:测试公司自主研发的测试管理软件TMT的登录页面的功能51Testing软件测试网1FM,u$N4`
GN{&RA
软件环境:B/S系统,aspx,IIS,内网环境
,[y8K:`!Agx: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
~c02,错误的用户名->或错误的密码->任意下拉框的值->登录失败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)N0Gloloal表中的内容为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|PYL*}@I
Qwen2 qwen no
.\Fkr'MX0第三步,修改脚本
hw#fn!z0按我们上面分析的内容进行修改,修改后的脚本内容如下:
l
^w}%U+cu
`0Dim ItemsCount 'ItemCount用于获取下拉框的项数51Testing软件测试网%]QG%H:mb7E0T/?
Dim I '用于设置循环中的初值
"hz!U0U5aq0ItemsCount=Browser("TMT系统登录").Page("TMT系统登录").WebList("select").GetROProperty("items count")
V tq6`-qCb[2G5r0For 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软件测试网#Y EFI+Of
End If
fs ue3N1V\j0Next51Testing软件测试网$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?0qwen 2010-4-1651Testing软件测试网"u6to;[w o/G vE#T