Я использую UFT 12.51 для автоматизации веб-приложения на IE11. Вот мой сценарий:
Мне нужно пройти через несколько страниц, чтобы завершить процесс, который я пытаюсь автоматизировать (точнее, 9 страниц). На странице 4 я нажимаю ссылку, которая открывает фрейм (как всплывающее окно). Я ввожу требуемую информацию и нажимаю кнопку, чтобы отправить информацию, которая закрывает рамку, и возвращает меня на страницу 4 в браузере. Здесь возникают мои проблемы: на этом этапе UFT перестает распознавать любые элементы на странице. Он забирает, что есть страница, но не признает, что у нее есть дочерние «видимые» объекты. Если я снова вручную перейду по ссылке, чтобы снова отобразить рамку и закрыть кадр, UFT снова начнет распознавать объекты на странице. Есть ли способ, с помощью которого я могу вызвать ссылку (я имею URL-адрес), чтобы снова открыть кадр, когда ссылка не видна UFT? Если я смогу это сделать, я смогу закрыть Рамку, и объекты на странице будут снова видны. Надеюсь :)
Я пробовал такие вещи, как «devicereplay», browser.navigate, sendkeys, но ни один из них не является за работой. К сожалению, из-за характера моего приложения, я не могу предоставить никаких отпечатков на экране. Любая помощь была бы очень признательна, поскольку я пытался понять это в течение 2 дней без везения.Trigger a Link Нажмите, когда объект не отображается
Код
Dim oDR : Set oDR = CreateObject("Mercury.DeviceReplay")
' Lets get the X and Y chordinates for 'Next Step' button
Dim iX, iY
iX = Browser("MyBrowser").Page("MyPage").Link("NextStep").GetROProperty("x") + 5
iY = Browser("MyBrowser").Page("MyPage").Link("NextStep").GetROProperty("y") + 5
If MyFunction(dCurrVals, sErrorMsg) Then
LOG_ReportEvent "PASS", "Set Investment/Allocate", "Successfully initialised page"
Else
LOG_ReportEvent "FAIL", "Set Investment/Allocate", sError
End If
'Browser("MyBrowser").Page("MyPage").Object.body.doscroll "scrollbarPageUP"
wait(1)
oDR.MouseMove iX, iY
oDR.MouseClick iX, iY, 0
Set oDR = Nothing
Browser("MyBrowser").RefreshWebSupport
Wait(1)
Browser("MyBrowser").Page("MyPage").Link("Search")
'Browser("MyBrowser").Navigate "MyURL"
'Browser("MyBrowser").Page("MyPage").Sync
'Browser("MyBrowser").Page("MyPage").Link
'Wait(1)
'Browser("MyBrowser").Page("MyPage").Link("Search")
'Browser("MyBrowser").Page("MyPage").WebElement("Search").FireEvent "onclick"
ПРИМЕЧАНИЕ
По соображениям безопасности, я изменил имена объекта, но выше код всего лишь пример того, что я пробовал. dCurrVals
- объект словаря, который предварительно заполняется перед вызовом функции
ли страница 4 содержит все пользовательские элементы управления, а не веб-объекты? –
Это только веб-объекты (т. Е. Таблицы, поля редактирования, ссылки и т. Д.) – Zac
Тогда почему UFT не признает это? Пробовали ли вы описательное программирование или пытались записать свои шаги? –