问题是这样的,“我的错误的用户名就没办法登陆”,其实含义就是脚本最好能处理成功的用户名错误的用户名,那么这里涉及到脚本的设计。目标如下:
~sC4z+}%X,F1286491. 脚本需要处理成功和失败的用户的登陆软件测试专业网站:51Testing软件测试网7fE(a Iy,y7T4k
2. 数据驱动
设计开发脚本如下:
软件测试专业网站:51Testing软件测试网M3A _%n R
第一步录制脚本如下
{eI-T~C128649Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebEdit("txtLoginName").Set "吕巍"
2vLWV"@tj9y2[128649Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebButton("登 录").set ""
Z2_O6rZ*I128649Browser("智能变电巡检仪系统 4.0").Page("Page").Syn
x]1u D Z%M6h"q128649Browser("智能变电巡检仪系统 4.0").Close
以上为录制的正确的用户名,下边录制错误的用户名
M9R$[Vr.F Y0oN128649Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebEdit("txtLoginName").Set "xx"软件测试专业网站:51Testing软件测试网_MwF(M*mq
Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebButton("登 录").set ""软件测试专业网站:51Testing软件测试网PmWm%X\ Bi
出现错误提示“该用户不存在”
第二步 增强脚本
现在需要设计的是一套脚本驱动所有的测试数据,这样可以驱动所有的用例数据,qtp中提供了datatable。软件测试专业网站:51Testing软件测试网`y@/M9z(d U C
但是有数据驱动也要做一个事情就是如何处理错误的用户名和正确的用户名,如何结合起来呢?
Pq$CB$j;v!D128649这里我把datatable看作存放测试用例的地方,里面放入测试数据,还放入测试的预期结果。这样我的设计已经出现雏形了。软件测试专业网站:51Testing软件测试网!v@ey&n0q
我把datatable设计为三列
username password status
%L9` i4J4@l128649吕x 软件测试专业网站:51Testing软件测试网r6_-W/` y.rP6dF:zA#x
xxx xxxx 该用户不存在
第三列放入最后执行的结果,我设计的是空为成功登陆,如果有信息就用实际运行的结果和这一列对比.好了万事俱备只欠东风了
修改脚本如下:
*i@aeC0t*^_128649Dim iStatus
Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebEdit("txtLoginName").Set DataTable("username", dtLocalSheet)软件测试专业网站:51Testing软件测试网ZUz [K0g+ey
Browser("智能变电巡检仪系统 4.0").Page("智能变电巡检仪系统 4.0").WebButton("登 录").set DataTable("password", dtLocalSheet)软件测试专业网站:51Testing软件测试网qmP~hVT5U.Q
iStatus = DataTable("status", dtLocalSheet)
If iStatus="" Then软件测试专业网站:51Testing软件测试网t r4Z,{o3j L
Browser("智能变电巡检仪系统 4.0").Close软件测试专业网站:51Testing软件测试网 |wU3|2S WHR
End If
\;h6OKd4_128649If iStatus="该用户不存在" Then
!e0A;g3^pHEc!@128649 Reporter.ReportEvent micFail, "登陆", "登陆失败."软件测试专业网站:51Testing软件测试网 `)_f L `u|~z
End If
Browser("智能变电巡检仪系统 4.0").Close
第三步,设置脚本运行过程
打开 tests-〉settings软件测试专业网站:51Testing软件测试网d AkRL4meB
设置RUN TAB页面下 Datatable iterations中 Run On all rows
这样就完成了整个脚本的设计工作,以上通过一个简单例子吧脚本的设计和软件的功能结合起来,达成脚本的设计效果。