Forum Discussion

Vault76er's avatar
Vault76er
Occasional Contributor
19 hours ago

Testcomplete failing on listboxes

Hi, 

I'm trying to record and then run simple tests for a .net coded desktop application. I have simple form with text boxes, calendar controls, and listboxes. I am experiencing issues with running the recorded test - every time it comes to a listbox, Testcomplete just plain fails to continue. I see there have been lots of bugs complaining about list boxes over the years, but also posts saying that stuff was fixed 5 months ago.

Has anyone else experienced, and resolved, issues with playback and textboxes, and if you resolved them, how did you do it?

  • Are you getting an error in the TestComplete log?  If so, what does it say?  It's hard to identify what the problem is from your description.  It might help to see what the Object Spy shows when you select the listbox.

    There is probably a different approach to interacting with the control that will work for you.  We just need to gather a little more info first.  A screen capture of the actual listbox might help too.

    • Vault76er's avatar
      Vault76er
      Occasional Contributor

      Attached is a screenshot of one such control. When recording, I select the dropdown arrow, it reveals the list, then I select "Male", which then populates the field, and I then move on to the next field. I've tried other methods like selecting the text area first, using typeahead, they don't seem to work either.

      The logged error is "Unable to find the object ClickItem("Male"). I get a similar error for all listboxes, it gives that error and names the object the value I had selected when recording.

      The name mapping is: NameMapping.Sys.ris.MainShell.pvMainPageView.RadPageViewPage.ScheduleOrder.radSplitContainer1.splitPanel1.pnlContentPanel.radPageView1.pagePatient.patientGeneral1.radGroupBox1.cmbGender

      Thanks for looking at this with me!

      • JDR2500's avatar
        JDR2500
        Contributor

        That's very helpful.  ClickItem works with most combo/list box controls but not all of them.  You can usually tell if it is, or is not, going to work by using the Object Spy on the combo box control like I've done below. 

        My example is from Notepad.  As you can see, Test Complete is able to identify the list items for the combo and shows them in the wItemList property field.  If you can't see yours (e.g. Female, Unknown, etc.) there when you select the combo box with the Object Spy then ClickItem is not likely to work.

        This can typically be worked around by essentially splitting the ClickItem action into two or more component steps.  The first step is to display the list by clicking in the combo box.  Once the list is displayed the second step is to click the item you want.  

        Below is an example taken from our application.  The combo box doesn't show any of the list items in a wItemList property. Consequently, just like your situation, ClickItem doesn't work with it.

        To select the "(All Columns)" item I would do this:

        Aliases.Sys.Ezp.Session.toolbar.tbDbBrowser.tbView.cboConfig.Click
        Aliases.Sys.Ezp.popupMenu.dropdownBCG.ListItem("(All Columns)").Click

        If that approach doesn't work there, are other options. 

        Just to be clear, did you try the Keys method like this:

        NameMapping.Sys.ris.MainShell.pvMainPageView.RadPageViewPage.ScheduleOrder.radSplitContainer1.splitPanel1.pnlContentPanel.radPageView1.pagePatient.patientGeneral1.radGroupBox1.cmbGender.Keys("ma")

        In a lot of combo box controls that would select "Male".