我正在「開發」Mercury/HP QuickTest Pro 9.1中的測試計劃,其中我必須提取電子郵件中所有鏈接的列表並執行邏輯對他們每個人。QTP:獲取電子郵件中所有鏈接的列表
在這種情況下,我使用Webmail,因此該消息將顯示爲網頁;儘管我希望稍後可以使用Outlook來複制更實際的用戶體驗。
我是開發人員,而不是測試人員。任何人都可以提供我一些「代碼」,將執行此提取?
我正在「開發」Mercury/HP QuickTest Pro 9.1中的測試計劃,其中我必須提取電子郵件中所有鏈接的列表並執行邏輯對他們每個人。QTP:獲取電子郵件中所有鏈接的列表
在這種情況下,我使用Webmail,因此該消息將顯示爲網頁;儘管我希望稍後可以使用Outlook來複制更實際的用戶體驗。
我是開發人員,而不是測試人員。任何人都可以提供我一些「代碼」,將執行此提取?
您可以調用ChildObjects
方法來返回給定類型的子對象的集合。例如,要獲得谷歌主頁上的所有鏈接對象的列表:
set oDesc = Description.Create()
oDesc("micclass").Value = "Link"
set links = Browser("title:=Google").Page("title:=Google").ChildObjects(oDesc)
For i = 0 To links.Count-1
reporter.ReportEvent micInfo, links(i).GetROProperty("text"), ""
Next
所以,你只需要找到包含電子郵件的正文的Web元素,並用其作爲母公司的搜索。
如果您最終選擇使用Outlook路由,則可以使用Outlook API執行此操作,而無需使用QTP的GUI代碼。
sServer = "your.server.address.here" '"your.server.address.here"
sMailbox = "JoeSmith" '"mailboxName"
' build the ProfileInfo string
sProfileInfo = sServer & vbLf & sMailbox
' create your session and log on
Set oSession = CreateObject("MAPI.Session")
oSession.Logon "", "", False, True, 0, True, sProfileInfo
' create your Inbox object and get the messages collection
Set oInbox = oSession.Inbox
Set oMessageColl = oInbox.Messages
' get the first message in the collection
Set oMessage = oMessageColl.GetFirst
If oMessage Is Nothing Then
MsgBox "No messages found"
Else
' loop through inbox
Do
With oMessage
' message data:
Debug.Print .Subject & vbCrLf & .TimeReceived & vbCrLf & .Text
' this triggers the clever Outlook security dialog:
'Debug.Print .Sender(1) & vbCrLf & .Recipients(1)
Debug.Print
End With
Set oMessage = oMessageColl.GetNext
Loop Until oMessage Is Nothing
End If
'Logoff your session and cleanup
oSession.Logoff
Set oMessage = Nothing
Set oMessageColl = Nothing
Set oInbox = Nothing
Set oSession = Nothing
'write qtp script to display names of links in jkcwebsite page
Option explicit
Dim bro,url,n,desc,childs,i
bro="c:\Program Files\Internet Explorer\IEXPLORE.EXE"
url="http://ieg.gov.in/"
invokeapplication bro&" "&url
'create description for link type
Set desc=description.Create
desc ("micclass").value="link"
'get all links in jkc page
Set childs=browser("title:=Jawahar Knowledge Center").Page("title:=Jawahar Knowledge Center").ChildObjects(desc)
For i=0 to childs.count-1 step 1
n=childs(i).getroproperty("name")
print n
Next
n=childs.count
browser("title:=Jawahar Knowledge Center").Close
歡迎堆棧溢出!請不要僅發佈一段代碼,請解釋爲什麼此代碼可解決問題。沒有解釋,這不是一個答案。 – Artemix 2012-11-22 11:24:56