VB与IE交互实现WEB画面的自动测试(用VB填写IE中控件的内容和提交表单)

翻译|其它|编辑:郝浩|2007-09-11 09:46:18.000|阅读 1940 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

看这篇文件需要有  VBA  编程基础.

 

我们在做  WEB  项目测试的时候,为了测试一个点在IE上反复的输入相同的内容,浪费了很多的时间.我们就可以思考这样一个问题,画面测试是否也可以像  Junit  测试一样只要点击一下鼠标什么都不用做就完成测试. 答案是可以的.

 

我的设想是:  EXCEL VBA  技术把想要设置的值设置到网页上并模拟点击某一个按钮或提交某一个表单,分成三个步骤完成自动测试.:

 

第一步,测试数据准备和测试结果预想..把测试需要的数据和测试预想结果罗列在  EXECL 

 

第二步,数据库数据初期化.清空这些表的数据,并把上面的数据插入到相应的表中

 

第三步,测试实施.  EXCEL VBA  技术把想要设置的值设置到网页上并模拟点击某一个按钮或提交某一个表单

 

第四步,测试结果比较.把预想数据和数据库中的实际数据相比较,相同的话就说明没有问题了.相同表示测试通过,不同则是程序有问题.

 

上述四点中,如果懂得用  VBA  进行数据库编程的话,那么数据库数据初期化和测试结果比较应该都没有问题.问题在测试实施上.如何让网页上的控件自动赋值并自动提交表单呢.下面我就正对这一点技术实现的可能性进行说明.

 

HTML  源码:

  <!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.0   Transitional//EN">   
  
<html>   
  
<head>   
    
<title>testPage</title>   
  
</head>   
  
<body>   
  
<FORM   name=chh   method   =   "POST"   action   =   "login.asp">   
      
<table   width="100%"   border="0"   cellspacing="0"   cellpadding="2">   
          
<tr>     
              
<td   width="31%"   align="center">用户:</td>   
              
<td   width="69%"   align="left">     
                
<input   name="LoginName"   type="text"   id="LoginName"   size="12">     
              
</td>   
          
</tr>   
          
<tr>     
              
<td   width="31%"   align="center">密码:</td>   
              
<td   width="69%"   align="left">     
                
<input   name="LoginPassword"   type="password"   id="LoginPassword"   size="12">     
              
</td>   
          
</tr>   
      
</table>   
  
<input   type   =   "submit"   id   =   "clickme"   value   =   "提交">   
  
</FORM>   
  
</body>   
  
</html>

 

很简单的页面,在上面有一个登录的  Form,一个用户名输入框  LoginName,一个密码输入框LoginPassword  和一个提交按钮  clickme ,然后用  IE  打开这个页面,注意页面的  title  设置为  testPage。然后打开  VBA,在工程中引用  Microsoft   internet   controls  

 

  Private   Sub   Command1_Click()   
          
Dim   IEList   As   New   ShellWindows   
          
Dim   browser   
          
Dim   Doc   
          
On   Error   Resume   Next   
          
'遍历当前地浏览器窗口   
          For   Each   browser   In   IEList   
                  
'找到需要地IE窗口   
                  If   browser.Document.Title   =   "testPage"   Then   
                          
'获得浏览器地文档对象   
                          Set   Doc   =   browser.Document   
                          
'填写用户名字段   
                          Doc.body.All("LoginName").Value   =   "eddie"   
                          
'填写密码字段   
                          Doc.body.All("LoginPassword").Value   =   "123456"   
                          
'提交   
                          Doc.body.All("clickme").Click   
                  
End   If   
          
Next   
  
End   Sub   


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:csdn

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP