|
2#
楼主 |
发表于 2011-10-17 23:08:52
|
只看该作者
本帖最后由 eightants 于 2011-10-17 23:15 编辑
可以看看我之前发过的帖子里的FrameworkManager的框架,就是基于vbs的,不知道和LZ的有没有相似之处?
shotstar 发表于 2011-10-9 09:26
FrameworkManager主要是针对QTP的,而我却是想做一点和QTP没有关系的东西。希望也能让那些不愿意使用盗版又不想被HP盘剥的公司和个人多一个选择的方向。如果一定要说象什么的话,应该更象Python的PAMIE。具体的可以参考我下面的这个简单例子:
Test Scenario:
1. 登录到AdvancedQTP论坛 (本来想用51testing做例子的,可惜这里的连接都是中文的,我现在用的电脑又不支持中文...)
2. 点击进入“Automation Frameworks”
3. 打开帖子 - “Welcome to AdvancedQTP Automation Frameworks Board”
4. 检查相关内容(这里假设需要检查红色的关键词:Guidelines出现在网页上)
相关VBScript代码:
其中第一部分可以根据测试主体的不同而修改(Data Driven,嘿嘿),而且可以通过读写Excel实现类似操作QTP Datatable的功能。
运行方法:把下面整个脚本粘贴到notepad上在存成一个后缀为vbs的文件。最后只要双击运行该文件即可...哈哈,不知道hp的人看了这个提议会不会找俺拼命...
'第一部分测试脚本
Public objIE 'Create object of IE Application
NavWeb "http://www.advancedqtp.com/forums/index.php#1"
WebLink 1, "Automation Frameworks"
WebLink 1, "Welcome to AdvancedQTP Automation Frameworks Board"
CheckContent "Guidelines"
Set objIE = Nothing
'第二部分Function库
'============ Functions ===============
'Make sure the IE page active
Function IEActive()
Do While objIE.Busy Or (objIE.READYSTATE <> 4)
Wscript.Sleep 80
Loop
WScript.Sleep 80
End Function
'Navigate Website
Function NavWeb(WebAddress)
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
objIE.Navigate WebAddress
IEActive
End Function
'Click the Link
Function WebLink(LinkItemNo, NavLink)
Dim TotalLinks
Dim Linkexist
Dim Item
Item = 1
Linkexist = False
TotalLinks = objIE.Document.Links.Length
For i=0 To TotalLinks-1
If Len (NavLink) > 4 Then
If InStr(LCase(objIE.Document.Links(i).innerHTML), LCase(NavLink)) > 0 Then
If Item = LinkItemNo Then
objIE.Document.Links(i).click
Linkexist = True
Exit For
Else
Item = Item + 1
End If
End If
Else
If LCase(objIE.Document.Links(i).innerHTML) = LCase(NavLink) Then
If Item = LinkItemNo Then
objIE.Document.Links(i).click
Linkexist = True
Exit For
Else
Item = Item + 1
End If
End If
End If
Next
If Linkexist = False Then
Wscript.Echo "Script could not find this link: " & NavLink
Wscript.Quit
Else
IEActive
End If
End Function
Function CheckContent(CheckText)
Dim FullText
FullText = objIE.Document.Body.innerText
If InStr(LCase(FullText), LCase(CheckText)) = 0 Then
MsgBox "The " & CheckText & " is NOT existed!"
Else
MsgBox "The " & CheckText & " is existed!"
End If
End Function |
|