Получить веб-приложение времени загрузки с несколькими перенаправлениями - PullRequest
1 голос
/ 04 мая 2020

У меня возникла проблема при попытке измерить время загрузки веб-приложения с помощью VB. NET: я нашел несколько сообщений об этом, предлагая использовать следующую функцию:

 Public Shared Function GetLoadTime(my_url As String) As String
    ' open IE, navigate to the website of interest and loop until fully loaded
    Dim start_time
    Dim elapsed_time
    Dim webBrowserForPrinting As System.Windows.Forms.WebBrowser = New System.Windows.Forms.WebBrowser
    Dim IE As SHDocVw.InternetExplorer
    IE = CreateObject("InternetExplorer.Application")
    start_time = Timer
    With IE
        .Visible = True
        .navigate(my_url)
        .Top = 50
        .Left = 530
        .Height = 400
        .Width = 400
    End With
    Do Until Not IE.Busy And IE.ReadyState = 4
        System.Windows.Forms.Application.DoEvents()
    Loop

    Dim title As String
    elapsed_time = (Timer - start_time)
    MsgBox("The time required to load the webpage was " & Format(elapsed_time, "0.0000") & " seconds.")
    Return Format(elapsed_time, "0.0000")
End Function

Проблема Я имею с этим кодом, что время, которое я получаю как вывод, не является правильным. Приложение, которое мне нужно запустить, имеет несколько перенаправлений перед полной загрузкой, и время, которое я получаю в качестве выходных данных, составляет только время загрузки до первого перенаправления.

Я также пытался проверить заголовок приложения, загруженного до выхода из Do. До добавления также этой проверки:

Do Until Not IE.Busy And IE.ReadyState = 4 And InStr(IE.Document.title, "Salesforce") > 0

Но я всегда получаю исключение:

Исключение: «System.Runtime.InteropServices.COMException» в GetLoadTimeTest.exe Дополнительная информация: ошибка HRESULT E_FAIL возвращена после вызова компонента COM.

Вы можете помочь мне чтобы понять, что я могу с этим поделать? Заранее спасибо, Роберто

...