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

转载 2007年10月11日 13:58:00

看这篇文件需要有 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   

 

 

控件共享群    40662788 (满)
控件共享群1   45939285  (满)
控件共享群2   45939346
控件共享群3   45939415

调用 IE 浏览器的开发者工具

本文介绍了借助于 Spy++、Process Explorer、WinDbg 和 IDA 等工具来分析 IE 开发者工具调用接口的整个过程。...
  • titilima
  • titilima
  • 2013年11月22日 10:06
  • 5029

Delphi自动填写IE输入框

//自动填写主要过程; procedure TForm1.FillIEForm(aValidatecode: String; bPost: boolean); procedure DoWithHt...
  • u013408061
  • u013408061
  • 2017年04月27日 22:13
  • 425

mfc 直接操作ie浏览器自动填写表单实例

在我们编写的程序中,如果想要实现对浏览器打开的网页进行监视、模拟操纵、动态提取用户输入、动态修改......等功能,那么请你抽出宝贵的时间,继续往下阅读。本文介绍的知识和示例程序都是围绕如何遍历 HT...
  • u013037007
  • u013037007
  • 2015年12月08日 22:47
  • 2122

WebBrowser控件表单(form)的自动填写和提交

http://www.sosuo8.com/article-2011/webbrowser-control-form-automatically-fill-and-submit.htm   话说有...
  • qq873113580
  • qq873113580
  • 2013年11月23日 21:16
  • 619

【ahk】用标题名称激活IE指定tab

;功能:激活IE指定tab /* 测试方法: 打开IE 依次访问 http://www.baidu.com/ http://cn.bing.com/ 百度处于不激活状态、必应处于激活状态。 */ ;...
  • liuyukuan
  • liuyukuan
  • 2015年01月18日 01:12
  • 2203

【转载】第一次亲密接触 之 VB和Flash的交互

对于VB界面的设计,其实我们组最开始也没想用Flash,只想到用PS修几张图,然后借助控件的Visible属性做一个伪动作的效果,但是看到用了flash的童鞋,感觉人家那个界面才能被称之为界面,仅用v...
  • bianyamei
  • bianyamei
  • 2015年12月23日 11:53
  • 534

VB6对象浏览器的用法

估计不少书都把这个强大的工具忽略了,这里补充一下。在VB6的IDE里按下F2,或者选择【视图】菜单的【对象浏览器】菜单项,就可以打开对象浏览器。对象浏览器可以看到一个库中的全部类,模块,枚举的定义。...
  • JiLuoXingRen
  • JiLuoXingRen
  • 2013年07月27日 02:11
  • 6442

在https的链接中vb使用post提交xml数据

由于工作需要,需要vb提交xml数据到服务器上,所以,需要找到一个好的方法。   之前有代码使用了MSXML2.XMLHTTP对象进行xml数据取得,而且链接是https形式的,于是就参照代码提...
  • cncco
  • cncco
  • 2016年01月04日 01:35
  • 3059

Android简单的web提交表单登录

1、创建Web项目: public class LoginServlet extends HttpServlet { @Override protected void doGet(HttpServ...
  • u014676619
  • u014676619
  • 2015年11月22日 14:06
  • 2537

MFC程序添加Web浏览器控件(IE控件)

MFC程序添加Web浏览器控件(IE控件)       1. 新建一个基于对话框的MFC程序   这里使用VS2010建立一个MFC Application,种类选择基于对话框Dialog...
  • u011763045
  • u011763045
  • 2013年11月05日 00:17
  • 8221
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:VB与IE交互实现WEB画面的自动测试(用VB填写IE中控件的内容和提交表单)
举报原因:
原因补充:

(最多只允许输入30个字)