2015-12-11 1 views
0

Счастливых выходных рецензентов :) Я застрял в то время как я пытаюсь переопределить метод в UFT для объектов как link, Image & button. Я получаю неизвестную ошибку во время выполнения скрипта. Будет полезно, если кто-то может направить меня. Ниже мой кодUnknow ошибки при переопределении методов в UFT 12.51

' Creating Browser description 
' "title:=Work Transfer Management System - WTMS" 

Set WTMSBrwsr = Description.Create 
WTMSBrwsr("title").Value = "Work Transfer Management System - WTMS" 


' Creating Page description 
' "title:=Work Transfer Management System - WTMS" 

Set WTMSPge = Description.Create 
WTMSPge("title").Value = "Work Transfer Management System - WTMS" 

'Creating link description 

set OdescLnk= Description.Create 
OdescLnk("Link").value="Engineering Work Placement" 
OdescLnk("html tag").value="A" 

Browser(WTMSBrwsr).Page(WTMSPge).Link(OdescLnk).fnBtnClick 

'function Lib 
RegisterUserFunc "WebButton", "fnBtnClick", "fnBtnClick" 
RegisterUserFunc "Link", "fnBtnClick", "fnBtnClick" 
RegisterUserFunc "Image", "fnBtnClick", "fnBtnClick" 

'Function Definition 
Function fnBtnClick(objControl) 
    'Check if object exists 
    If objControl.Exist Then 
     'Check if the object is enabled or not 
     If objControl.GetROProperty("disabled") <> 0 Then 
      'Click on the button 
      objControl.Click 
     End If 
    End If 
End Function 

Ошибки происходит в Browser(WTMSBrwsr).Page(WTMSPge).Link(OdescLnk).fnBtnClick Не могли бы вы помочь мне знать, если это способ записи использовать метод?

+0

Можете ли вы отладить код и проверить, существует ли 'Browser (WTMSBrwsr) .Page (WTMSPge) .Link (OdescLnk)' существует или нет? – ManishChristian

+0

Это абсолютно работает fine.I've пытался нажав и выделяя ссылку ниже 'Browser (WTMSBrwsr) .стр (WTMSPge) .link (OdescLnk) .click' ' Browser (WTMSBrwsr) .стр (WTMSPge) .link (OdescLnk) .highlight' –

ответ

1

Сценарий, как и каждый скрипт, выполняется сверху вниз.

Когда

Browser(WTMSBrwsr).Page(WTMSPge).Link(OdescLnk).fnBtnClick 

выполняются, он будет искать регистрации для этой функции, но не существует, так как код

RegisterUserFunc "WebButton", "fnBtnClick", "fnBtnClick" 
RegisterUserFunc "Link", "fnBtnClick", "fnBtnClick" 
RegisterUserFunc "Image", "fnBtnClick", "fnBtnClick" 

еще не был выполнен.

Так что переместите RegisterUserFunc звонки вверх, и он будет работать.

Это также может улучшить читаемость кода, если вы объявляете функцию, прежде чем ссылаться на его имя в RegisterUserFunc звонках, поэтому лучше переместить определение функции в верхнюю часть, а также.

Смежные вопросы