Forum Discussion
Most of the folks who frequent here are users just like you so we don't necessarily have that sort of inside track.
TanyaYatskovska and sonya_m might be able to do some leg work.
HOWEVER... I'm not sure why you're saying it can't see Angular Material controls. From the documentation:
TestComplete can work with any web control via the control’s graphical user interface displayed in a web browser, no matter how the control is implemented on the server side. You can test web applications that use controls implemented by using various technologies and frameworks, including Angular frameworks and component libraries (like AngularUI, Angular Material, and etc.).
This can be found at https://support.smartbear.com/testcomplete/docs/general-info/supported-technologies/controls/angularui.html
So... it seems that angular material is supported... which tells me something else is wrong with your set up. Double check to make sure that the plug-in is turned on (File -> Install Extensions)
As far as I see, the topic is quite old. Let us know santi if this is still an issue!
- santi6 years agoContributor
Thanks both for reply, and apology for responding late.
We use Angular+Angular material for our application. There are many custom classes defined by development team, which generates it's own html structure. With change of custom class, other HTML (under material) will get changed.
Test Complete (14.10,14.30) not identifying those custom classes, for which we are facing lot of issues and even may move out from the tool, as this is a major chunk of our automation.
Yesterday we had meeting with top management and they have given us few days to find out (work around).
Does testcomplete provide any plug-in to support this ?
common, desktop, mobile and web are the extensions we are using.
Thanks for your time and kind reply.
- AlexKaras6 years ago
Champion Level 2
Hi,
> generates it's own html structure.
Well... I assume that you are testing web application (web pages).
I also assume that you are dealing with plain html markup (without any ActiveX components, widgets, etc.). Is that correct?
If the above is correct, then TestComplete should be able to control those web pages.
I do not remember to work with web pages created with Angular Material, but the regular Angular (as well as React) is well known in the automation world for its extremely poor symantic markup of the page which results in extremely difficult and expensive automation. Regardless of the tool been used.
> Test Complete (14.10,14.30) not identifying those custom classes
Could you clarify this? What was your exact expectation? Can you provide an example of the page markup with your comments as for what was not identified?
> they have given us few days to find out (work around).
Again, if my guess that your problem is with the absent page markup (web elements do not have unique and stable identifiers), then you will not get anything by replacing the tool. If the above is your case, you have only two options possible:
a) Talk to Development and convince them to provide stable and unique identifiers for each and every web element that your test code needs to interact with;
b) Spend time and efforts to figure out and implement in code some approach to reliably identify required web elements. Depending on your application, this well may be some intelligent search for parent and child elements, image search, search by text, etc.
- santi6 years agoContributor
Thanks Alex. My comments in bold.
> generates it's own html structure.
Well... I assume that you are testing web application (web pages).
I also assume that you are dealing with plain html markup (without any ActiveX components, widgets, etc.). Is that correct?
Application is Desktop app, with Electron+angular+material+other library
If the above is correct, then TestComplete should be able to control those web pages.
I do not remember to work with web pages created with Angular Material, but the regular Angular (as well as React) is well known in the automation world for its extremely poor symantic markup of the page which results in extremely difficult and expensive automation. Regardless of the tool been used.
> Test Complete (14.10,14.30) not identifying those custom classes
Could you clarify this? What was your exact expectation? Can you provide an example of the page markup with your comments as for what was not identified?
Though development team has provided unique identifier, many are not getting identified, reason being, test complete engine not finding those idStr, as developer made customized class for those material tags (which generates its own html structure and later it may get changed if they move to another version of material/angular- which will add up our maintainance)
> they have given us few days to find out (work around).
Again, if my guess that your problem is with the absent page markup (web elements do not have unique and stable identifiers), then you will not get anything by replacing the tool. If the above is your case, you have only two options possible:
a) Talk to Development and convince them to provide stable and unique identifiers for each and every web element that your test code needs to interact with;
They are fine with unique idStr, but structure is not under their control when they upgrade angular.
b) Spend time and efforts to figure out and implement in code some approach to reliably identify required web elements. Depending on your application, this well may be some intelligent search for parent and child elements, image search, search by text, etc.
We are trying our level best, i will update here if i get hold of something by tomorrow. We are hopeful.