Время загрузки страницы
#1
Отправлено 11 мая 2005 - 19:27
Сначала описание:
QT6.5. Тестирую отчет, запускаемый по URL, browser - Internet Explorer 6.0. В строке URL передаются параметры, с которыми должен выполнится отчет. Данные для отчета берутся из БД Oracle.
Теперь вопрос:
Как получить время загрузки страницы отчета в QT?
При вот таком варианте:
Services.StartTransaction "t"
Browser("...").Page("...").Sync
Services.EndTransaction "t"
тест отрабатывает раньше и успешно, чем на экране появятся данные.
#2
Отправлено 11 мая 2005 - 22:38
#3
Отправлено 12 мая 2005 - 07:22
1) На глаз определите, какой объект прорисовывается последним - он будет использоваться для синхронизации. Если Вы знаете, что на странице не выполняется javascript'ов, можно использовать фрейм или страницу в качестве объекта для синхронизации.
2) Вызовите метод этого объекта WaitProperty c параметрами:"attribute/readyState","complete",<timeout> где <timeout> - таймаут в миллисекундах. Можно попробовать синхронизироваться и по другим свойствам...
Майк.
#4
Отправлено 12 мая 2005 - 10:14
Spy отчет видит вот так.
Browser("Browser").Page("Page").ActiveX("Adobe Acrobat").WinObject("AVPageView").
И уже текст на этой странице ясень пень не разобрать.
Вот такой код вроде работает. Может есть ещё варианты получше ?
Services.StartTransaction "time"
result="0"
while result<>"Готово"
if Browser("Browser").WinStatusBar("msctls_statusbar32").Exist(0) then
Browser("Browser").WinStatusBar("msctls_statusbar32").Click 23,10
result=Browser("Browser").WinStatusBar("msctls_statusbar32").GetROProperty ("text")
end if
wend
Services.EndTransaction "time"
#5
Отправлено 13 мая 2005 - 08:54
A chto nel'zya pered kodom vyvesti tekushee vremya i posle tekushee vremy nu i posredstvom neslozhnyh operacij poluchit' iskomoe?Здравствуйте.
Сначала описание:
QT6.5. Тестирую отчет, запускаемый по URL, browser - Internet Explorer 6.0. В строке URL передаются параметры, с которыми должен выполнится отчет. Данные для отчета берутся из БД Oracle.
Теперь вопрос:
Как получить время загрузки страницы отчета в QT?
При вот таком варианте:
Services.StartTransaction "t"
Browser("...").Page("...").Sync
Services.EndTransaction "t"
тест отрабатывает раньше и успешно, чем на экране появятся данные.
#6
Отправлено 13 мая 2005 - 12:08
Ладно. Эту проблему худо бедно решили.
Теперь другой вопрос: Как сохранить отчет, если учесть что он создается динамически ?
set IE = CreateObject("InternetExplorer.Application")
IE.Visible = true
IE.Navigate("http://...")
IE.StatusBar=1
result="0"
Services.StartTransaction "time"
while result<>"Готово"
result=IE.StatusText
wend
Services.EndTransaction "time"
Нужно что то типа:
IE.Dialog("Save a Copy").WinEdit("Имя объекта).Set "1.pdf" (Эта комбинация не работает по понятным причинам)
#7
Отправлено 13 мая 2005 - 18:32
A QTP ничего не записывает, когда сохраняете отчет? В принципе можно попробовать с клавиатурой поработать, например, shortcut использовать, если он есть у опции "Save", или просто через Alt активировать меню окна отчета.Нужно что то типа:
IE.Dialog("Save a Copy").WinEdit("Имя объекта).Set "1.pdf" (Эта комбинация не работает по понятным причинам)
#8
Отправлено 14 мая 2005 - 11:37
Программа открывает и сохранят файл .pdf
set gApp=CreateObject("AcroExch.App")
set gPDDoc = CreateObject("AcroExch.PDDoc")
URL="C:\1.pdf"
gApp.Show
If gPDDoc.Open(URL) Then
Set avDoc = gPDDoc.OpenAVDoc("")
resSave=gPDDoc.Save(1 Or 4 Or 32, "C:\2.pdf")
End If
вот ссылка по Acrobat
http://partners.adob...IACOverview.pdf
Теперь вот думаю, как не просто .pdf открыть, а по URL. В самом Acrobate через меню File>Open web Page. Как это программно сделать пока не знаю.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных