Forum Discussion

MadGrb's avatar
MadGrb
Contributor
4 years ago
Solved

TestComplete cannot find nested Popup menu, In neste popup menu.

Hi, I have massive Problem with nested popup menu.   In my case, are two popup menu but TC can find just first one and ignore second one.   Look at Photo 1.jpg and 2.jpg, 3.jpg that show us ther...
  • MadGrb's avatar
    MadGrb
    4 years ago

    Finally I write a script to Click on nested Menu that is not recognized with TC-Engine.

     

            def SelectContextMenueStrip(cls, Contain_0 = '', Contain_1 = ''):
        
                    try:
            
                            Index_0 = 0
                            Index_1 = 0
                            Delay(50)
    
                            ContextMenuStrip = Aliases.JTL_Wawi.ContextMenuStrip
                    
                            Height = ContextMenuStrip.Height
                            Width = ContextMenuStrip.Width
                            Count = ContextMenuStrip.get_Items().Count
                            IndividualHeight = Height / Count
        
                            for Index_0 in range(0,Count,1):
                                    Item = ContextMenuStrip.GetItemAt(Width/2, IndividualHeight * Index_0 )
                                    if Item != None:
                                            if ContextMenuStrip.GetItemAt(Width/2, IndividualHeight * Index_0 ).Text.OleValue == Contain_0:
                                                    ContextMenuStrip.Click(Width/2, IndividualHeight * Index_0) 
                                                     
                                                    if Contain_1 != '':
                                                            ContextMenuStrip_1 = Aliases.JTL_Wawi.ContextMenuStrip.activeDropDowns_2.Item[0]
                                                            
                                                            Height_1 = ContextMenuStrip_1.Height
                                                            Width_1 = ContextMenuStrip_1.Width
                                                            Count_1 = ContextMenuStrip_1.get_Items().Count
                                                            IndividualHeight_1 = Height_1 / Count_1  
                                                            
                                                            for Index_1 in range(0,Count_1,1):
                                                                    Item_1 = ContextMenuStrip_1.GetItemAt(Width_1/2, IndividualHeight_1 * Index_1 )
                                                                    
                                                                    if Item_1 != None:
                                                                            if ContextMenuStrip_1.GetItemAt(Width_1/2, IndividualHeight_1 * Index_1 ).Text.OleValue == Contain_1:
                                                                                    MouseX = ContextMenuStrip_1.Left
                                                                                    MouseY = ContextMenuStrip_1.Top
                                                                                    Sys.Desktop.MouseDown(VK_LBUTTON , MouseX + Width_1/2, MouseY + IndividualHeight_1 * Index_1)
                                                                                    Sys.Desktop.MouseUp(VK_LBUTTON , MouseX + Width_1/2, MouseY + IndividualHeight_1 * Index_1)
                                                            Index_1 += 1
                                    Index_0 += 1
                                                                
                            
                    except Exception as exp:
                            Log.Message('SelectContextMenueStrip - type:' + str(exp)) 

     

     

    I use mouse position to click on desktop, Enjoy it 😉