Ask a Question

Support for custom objects

SOLVED
Wamboo
Community Hero

Support for custom objects

Hi, everybody,

 

In our application written in Pascal (Deplhi) we use an object that does not belong to the standard supported Borland libraries, such as Borland TDBGrid.

 

When mapping such a TestComplete object, it reads the object as a whole without the columns, buttons at the bottom of the grid, grid rows, etc. that are included in the composition.

 

Is it possible to add support for this custom grids to the TestComplete libraries?

 

Of course I can use the "text recognition" service, but this has its limitations. ImageRepository also works, but I would prefer to be able to support scrollbar in this grid and read all rows to the array.

 

Grid in the attachment.

 

Thank you for your help

11 REPLIES 11
AlexKaras
Champion Level 2

Hi,

 

> application written in Pascal (Deplhi)

I am pretty sure this should be possible. I would recommend to go through the https://support.smartbear.com/testcomplete/docs/app-testing/desktop/delphi/index.html help section and talk then to your developers. I think that you should be able to access UI elements that you need if developers include relevant debug information into the build.

 

 

Regards,
  /Alex [Community Champion]
____
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.
https://community.smartbear.com/t5/Community-Champions/About-the-Community-Champions-Program/gpm-p/252662
================================
anupamchampati
Frequent Contributor

Even I worked on the similar desktop delphi application. You just need the Debug build.

Write generic function for clicking the object in the ribbon and clicking the line in any grid.

I have all codes available do let me know in case you need any help

Thank you so much for your help.

I am not closing the thread yet because I will consult with the team and as mentioned anupamchampati I'll get back to you if there's a problem.

TanyaYatskovska
SmartBear Alumni (Retired)

Hi @Wamboo,

 

Any news from your team?

---------
Tanya Yatskovskaya
SmartBear Community and Education Manager



Hey,

 

We are now testing the operation of the application in the DEBUG mode. I'm marking it as solved and if we have any problems I'll get back to you.

 

Thanks for your help.

AlexKaras
Champion Level 2

Hi,

 

Thank you for the update.

 

of the application in the DEBUG mode.

Well, just in case...

It is documented in the help, that application can be built in Release mode but with the debug information included. You may use tdstrip utility provided with TestComplete to strip debug information out of the created executable and thus obtain an executable that can be provided to a customer and a debug information that can be used to simplify your testing.

I participated in the project that was organized like that and we had no problems with deployment and testing.

 

Regards,
  /Alex [Community Champion]
____
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.
https://community.smartbear.com/t5/Community-Champions/About-the-Community-Champions-Program/gpm-p/252662
================================

Hi,

 

It's a very valuable clue. Thank you AlexKaras

Wamboo
Community Hero

Continuing this current topic..:
1) we have prepared an application
2) I plugged it into TestComplete
3) I started the application and in the selected object (in this case the data grid) you can see new available properties on the properties list (snapshot_01 in the attachment)

 

When you try to call this property from the "Object Spy" on the data grid, an error flashes (marked with an arrow in the screenshot).

 

Question:

Q1) To read these properties (new with debugging), do I need to have a data grill mapped in NameMapping? I need to add this property to the list (I can't see it right now).

 

Q2) Will this Debug information work if I search for an object with .find() (Q1 related question)

 

Q3) Our grid from which I read data inherits from "QuantumGrid". -> so I added the name of our grid to the list of classes available in:

 

Project Workspace -> ObjectNameMapping -> Developer Express Controls -> VCL -> Quantum Grid

Is that enough? (Screenshot_02)

 

Q4) name the question Q3? if I have a class of the same grid added to "Borlands Control" as well. -> DBGrid this has some negative effects on the operation

AlexKaras
Champion Level 2

Hi,

 

I will try to answer to the best of my knowledge, but at the same time you may consider direct request to Support via the https://support.smartbear.com/message/?prod=TestComplete form (with the reference to this thread).
@TanyaYatskovska : Tanya, could you please draw attention of someone from Support to assist us here?

 

Also, I assume that you read the https://support.smartbear.com/testcomplete/docs/app-testing/open-apps/index.html help section.

 

> do I need to have a data grill mapped in NameMapping?

No, not necessarily.

 

> Will this Debug information work if I search for an object with .find()

Yes, it should. As long as the object is accessible to TestComplete (i.e. is visible in the ObjectBrowser/Object Spy) you should be able to either NameMap it, or to search it via .FindXXX() method, or address it directly.

 

> Is that enough? (Screenshot_02)

Yes, it is enough to my knowledge. Though Support might provide more details.

 

> When you try to call this property from the "Object Spy" on the data grid, an error flashes (marked with an arrow in the screenshot).

I think this is because your control is inherited one and Development did not implement all requirements to full extent. Either talk to them or, hope, Support will point to the missed part more precisely.

 

> I need to add this property to the list (I can't see it right now).

I see the situation like this (my vision may be incorrect and I hope that Support will correct or extend it where needed):

-- TestComplete picked-up the information that you added to the Object Mapping panel and correctly identified your control as a descendant of the DevExpress Quantum Grid;

-- TestComplete 'knows' that DevExpress Quantum Grid must have the wViewCount property and tried to access it in your control;

-- TestComplete failed to access the wViewCount property in your control due to the lack of the provided (debug) support from Development. This is the reason of the error shown in the Object Spy and why the property is absent in the properties list in NameMapping.

 

Regards,
  /Alex [Community Champion]
____
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.
https://community.smartbear.com/t5/Community-Champions/About-the-Community-Champions-Program/gpm-p/252662
================================
cancel
Showing results for 
Search instead for 
Did you mean: