cancel
Showing results for 
Search instead for 
Did you mean: 

Use the return value of a Python function in another function

anapao
Occasional Contributor

Use the return value of a Python function in another function

Hi !

I defined a method to  get the coordinates of an object. These coordinates I want to use in another function to drag and drop the object. I just do not now how to get the return value of a function. 

The reason why I want to use the coordinates in another function is because the object is nor recognized in my first function anymore (dont know why, if you have an idea, that is also welcomed)

Here the function to obtain the coordinates:

def getElectricGridDragDropCoordinates():

ImageRepository.AssetLibraryMenus.Menu_ExternalEnergyNetworks.Click()

MySourceObject = ImageRepository.Assets.ElectricGridConnection
ImageRepository.Assets.ElectricGridConnection.Click()
SourceX = Sys.Desktop.MouseX
SourceY = Sys.Desktop.MouseY

MyDestinationObject = Aliases.SimpsonGui.wndQt5QWindowIcon..widget_placeholderEquipment.ComponentTreeView.qt_scrollarea_viewport
DestinationX = MyDestinationObject.Left
DestinationY = MyDestinationObject.Top

return SourceX, SourceY, DestinationX, DestinationY;


and here the function where I want to use these coordinates:

 

def dragDrop():

getElectricGridDragDropCoordinates()

Delay(200)

t = tuple(#resultof getElectricGridDragDropCorrdinates )
SX = t[0]
SY = t[1]
DX = t[2]
DY = t[3]


MySourceObject = ImageRepository.Assets.ElectricGridConnection
MySourceObject.Drag(SX,SY,DX + 1, DY + 1)


Thanks a lot in advance :D!

6 REPLIES 6
Marsha_R
Community Hero

Re: Use the return value of a Python function in another function

create variables in TestComplete for anything you want to share and then use those in the second function

anapao
Occasional Contributor

Re: Use the return value of a Python function in another function

Thanks @Marsha_R I already had tried it and did not work. I think, the problem is not at getting the return value, but at recognizing the object again (which I want to manipulate with the return value of the function) .

Do you have any idea why an object cannot be recognized once I has been cklicked once? 

Thanks a lot again!

Marsha_R
Community Hero

Re: Use the return value of a Python function in another function

Coordinates are not the best way to look for an object since they can change between runs of the test or between machines or even between reloads of the same browser.  Try using the object name instead.  It's a more persistent value.

anapao
Occasional Contributor

Re: Use the return value of a Python function in another function

The drag function always requires the X,Y co-ordinates for the start position and the end position :/. But thank you anyways for your kind help!

Marsha_R
Community Hero

Re: Use the return value of a Python function in another function

What happens when you try to use the object again in the same function?  The exact error message and/or a screenshot would be helpful.

anapao
Occasional Contributor

Re: Use the return value of a Python function in another function

Hi @Marsha_R thanks again for your help! here the screenshot of Test Log . I double checked the  search area and is the right one

Here the relevant part of the code:

ImageRepository.AssetLibraryMenus.Menu_ExternalEnergyNetworks.Click()

MySourceObject = ImageRepository.Assets.ElectricGridConnection
ImageRepository.Assets.ElectricGridConnection.Click()
X = Sys.Desktop.MouseX
Y = Sys.Desktop.MouseY

MyDestinationObject = Aliases.SimpsonGui.ComponentTreeView.qt_scrollarea_viewport
MyDestinationObject.Click()
toX = Sys.Desktop.MouseX
toY = Sys.Desktop.MouseY

Log.Message(X)
Log.Message(Y)
Log.Message(toX)
Log.Message(toY)

MySourceObject.Drag(X,Y,toX,toY)

New Here?
Join us and watch the welcome video:
Announcements
Top Kudoed Authors