Forum Discussion

StefanieYou's avatar
StefanieYou
New Contributor
6 years ago

when using waitchild method, got run time error, Type mismatch: 'TestObject.WaitChild'

HI there,

 

I'm writing test cases in VB, and when using the method waitchild, got run time error, Type mismatch: 'TestObject.WaitChild' 

 

below is the script:

 

Sub Test39
set TestObject=Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly
If TestObject.WaitChild(lstbox_LandingSurface,15000) Then
  log.Message "the model browser is ready"
  call Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.txtBlock_LandingSurface.ClickR(30,10) 'choose landing surface node and edit feature
  Else
End if
End Sub

 

the parent object here is Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly, and the child is Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.txtBlock_LandingSurface

am I giving the wrong parameter?

 

thanks,

stefanie

  • Wamboo's avatar
    Wamboo
    Community Hero

    Yo Stefanie!

     

    The error "Type mismatch: 'TestObject.WaitChild" it is because the result of .WaitChild() its an object not true/false value (boolean)

     

    https://support.smartbear.com/testcomplete/docs/reference/test-objects/members/common-for-all/waitchild-method.html

     

    what you can do is to add .Exists in Your If condition to properly check the state of the object.

     

    Example:

     

    if(Aliases.Cube.CubeTransitionBox.WaitChild("WLbl_ValidationImage", 50000).Exists) {
    // code
    }

    The result from .Exist method is a boolean value.

     

    Hope this will help Yoy.

    • StefanieYou's avatar
      StefanieYou
      New Contributor

      Hi Wamboo,

      thanks for helping!

      you're right! I re-edit the script but the still got an error

       

      Sub Test39

      TestObject=Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly
      If TestObject.WaitChild(lstbox_LandingSurface,15000).Exists Then
      log.Message "the model browser is ready"
      call Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.txtBlock_LandingSurface.ClickR(30,10) 'choose landing surface node and edit feature
      Else
      End if
      End Sub

       

      so I adjusted again:

      Sub Test36
      If Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.WaitChild(Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.lstbox_LandingSurface,15000).Exists Then
      log.Message "the model browser is ready"
      call Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.txtBlock_LandingSurface.ClickR(30,10) 'choose landing surface node and edit feature
      Else
      End if

      End Sub

       

      then tried this again:

      Sub Test37
      If Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.WaitChild(lstbox_LandingSurface,15000).Exists Then
      log.Message "the model browser is ready"
      call Aliases.Inventor.AInventor.Pane_ModelBrowser.lst_Assembly.txtBlock_LandingSurface.ClickR(30,10) 'choose landing surface node and edit feature
      Else
      End if

      End Sub