[VB][测试技术应用]VB与IE交互实现WEB画面的自动测试(用VB填写IE中控件的内容和提交表单)
2007-09-10 21:17
666 查看
VB与IE交互实现WEB画面的自动测试(用VB填写IE中控件的内容和提交表单)
看这篇文件需要有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
看这篇文件需要有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
相关文章推荐
- VB与IE交互实现WEB画面的自动测试(用VB填写IE中控件的内容和提交表单)
- 关于c#的webbrows控件自动填写表单并获取提交后的网页内容
- onkeydown事件,应用技术巧,onkeydown事件处理回车后提交表单
- ASP.NET中应用XML技术实现Web报表打印
- 类似web表单提交 使界面的滚动条 按要求定位到指定控件
- [JavaWeb]表单提交的验证(onSubmit和function的应用)
- Web 软件测试 Checklist 应用系列,第 4 部分: 内容、图片和按钮
- AJAX技术与asp.net 2.0的完美结合之Timer的web应用 及使用AJAX控件时的“Sys 未定义”错误解决办法
- web前端——ajax提交后台controller实现前端后台交互(2) 传两个参数 ,后台controller接收处理
- 微软软件实现技术授课系列内容之五:软件测试基础
- 怎么实现Web系统URL传输(表单提交)参数加密
- delphi开发修改并提交Web表单内容
- 摆摆控件,就可以实现多功能(提交、修改、浏览)的表单了
- 使用IE WebControls中的TabStrip控件和MultiPage控件实现选项卡式风格页面
- android studio查找应用控件id实现自动化测试
- 用jquery实现隐藏列表表单的显示关闭切换以及Ajax方式修改提交对应的那一行的修改内容。
- 软件测试技术---Web应用软件测试
- 仅一个form表单 js实现注册信息依次填写提交功能
- Web挖掘技术可实现应用目标
- Android中通过WebView控件实现与JavaScript方法相互调用的地图应用