使用qtp点击电子邮件中的链接

时间:2014-06-14 18:05:03

标签: qtp hp-uft

我尝试打开电子邮件中发送的自动生成的网址,作为激活过程的一部分。 我无法获得qtp来打开该链接。事实上,我不知道该怎么做。

任何帮助都将受到高度赞赏。

谢谢!

3 个答案:

答案 0 :(得分:1)

在记录设置中,您可以设置记录Windows应用程序的选项(位置记录>记录和运行设置> Windows应用程序)。下面是一个脚本示例,用于从stackoverflow中的电子邮件中单击登录链接 - 使用UFT 12:

'To open Outlook
SystemUtil.Run "OUTLOOK.EXE"
Window("Microsoft Outlook").Activate

'Double click the top message in the inbox
Window("Outlook Inbox Column").WinObject("Table View").DblClick 118,72

'Find the location of the link within the Message
Window("Message (HTML)").WinObject("Message").Click 212,324

'Verify the link brought me to the Stack Overflow Login page
Browser("Add a login - Stack Overflow").WinObject("AddressDisplay Control").Check CheckPoint("AddressDisplay Control")

答案 1 :(得分:1)

Function OpenMailAndVerify(ByVal strSubject,Byval Activity)
Set objApp = CreateObject("Outlook.Application")
Set objNameSpace = objApp.GetNamespace("MAPI")
Set objSyncs = objNameSpace.SyncObjects
Set objSync = objSyncs.Item("All Accounts")
objSync.Start
Set myFolder = objNameSpace.GetDefaultFolder(6)
Set ObjMails = myFolder.Items
Set objFilter = ObjMails
Flag_EmailFound = False

For Each objItem In objFilter
    If InStr(objItem.Subject, strSubject) = 1 Then
        dtMyDate = objItem.SentOn
        strSubject = objItem.Subject
        strBody = objItem.Body
        StartPos = InStr(strBody, "HYPERLINK")
        EndPos = InStr(strBody, "Direct Link to Activity")
        EndPos = EndPos - 1
        StartPos = StartPos + Len("HYPERLINK") + 2
        ActualLink = Mid(strBody, StartPos, EndPos - StartPos)

        Flag_EmailFound = True
        Exit For
    End If
Next


If (Flag_EmailFound) Then
systemutil.Run ActualLink,,,,3
wait 5
  If Browser("name:="&Activity&".*").Page("title:="&Activity&".*").Exist(10) Then
     Browser("name:="&Activity&".*").Page("title:="&Activity&".*").Highlight

  End If
End if 

结束功能

答案 2 :(得分:0)

使用RegExp按名称识别链接,并使用描述性编程,您可以单击链接

示例:

  1. http://www.cnn.com/2014/06/15/us/nyt-chelsea-manning/index.html?hpt=us_c2
  2. http://www.cnn.com/2014/06/16/us/bowe-bergdahl-case/index.html?hpt=us_c2
  3. 这将是代码

        urlString = "http://www.cnn.com/.*"
        Browser("name:=test - .* - Gmail").Page("title:=test - .* - Gmail").Link("name:=" &urlString).Click