Display any System.GUID property in object explorer as the actual GUID raw value in WPF
We have a situation where the original development team didn't name most of the objects in WPF, they did however add in a property that contains a system GUID. It would help our named mapping enormously if we could reference the value as the raw GUID rather than a series of decoded values. In the above image, the GUID value has been broken down into a series of sub elements and then seem to have been converted into decimal values. The raw value, as seen below, is the actual GUID value matching the above property as we would like to see it (from Snoop) What we would like is to have an additional raw value field displaying the complete GUID whenever the object property is of type System.GUID allowing the named mapping to identify the object by this property.40Views0likes2CommentsAbility to get the get/extract the XPath or Css from the name mapping objects
I would like to have one location where I specify the xpath my html elements. Most of the time, this data is stored in the NameMapping. A lot of the time you can use aliases in scripts. However, there are some times ... like for the 'waitelement' which you have to use the xpath or css. I would really like to be able to get the xpath or css from the nameMapping. This would make things a lot safer and less error prone. I use keyword tests as much as I can, but there are times when scripting is beneficial. var myAlias = Aliases.MyWebApp.AdminButton; var selectorArray = myAlias.GetSelectors(); the selectorArray would be an array of objects that looks like this: selectorArray = [{'css', '#myAdminButton'}, {'xpath', '//div/button[contains(@class, 'adminbutton')]'}, {'xpath', //div//button}]284Views2likes2CommentsNameMapping: Add "AND" clause to xpaths for element identification
NameMapping: Add "AND" clause which would require two or more unique xpaths to be true for the element to be identified. We would like the ability to use an "AND" clause which would require two or more unique xpaths to be true for the element to be identified. The reasons for this area as follows: We have had limited success using the “AND” condition within an xpath statement. We have had numerous cases where the expression is syntactically correct and confirmed by TestComplete in the NameMapping Annotation but it fails to find the specified text within the node/object. In other cases, it finds the desired object (viewGroup w/ text) but fails a property checkpoint using a cmpContains (text), returning a null string even thought the NamedMapping found the object based on that defined text. Example: xpath: //*[@className='android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup' and @text="SR Zone Controller"] xpath: //*[@className='android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup' and contains(@text,'SR Zone Controller')] The second and more concerning issue is the case where an object is discovered using a combined expression as shown below that correctly locates the object viewGroup which contains some specific text but fails a checkPoint operation. Example: xpath: //android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[*[@text="SR Zone Controller"]] We have had some success finding element using "FindElementByXPath, but this method is much more involved and difficult to implement. It would be so much easier for the user if an “AND” clause was added to the NameMapping XPATH statement as an enhancement to the “OR” clause. Note: We are working with a Mobile App and don't have the luxury of ObjectIDs or CSS for object identification.22Views1like0CommentsAllow module variables and parameters in NameMapping
Currently, TestComplete allows to use only Project Variables to be used for modifying property values in NameMapping. But this is very limiting factor and it can make the project variables unmaintainable and confusing, especially in case of too many Project Variables! So it would be really handy, to be able to use also module variables and parameters, even if it would require additionalRefreshMappingInfo action. Thanks.13Views2likes0CommentsMerge KeywordTests and NameMapping
we have been working with TestComplete for over 6 years now and it looks like we will be expanding rather than reducing test automation with TestComplete. We have different teams for different software products. There are often 2 people working on the same test automation project within a team. As we have integrated the TestComplete projects in the TFS source code management, it is no problem to check files in and out. What does cause us difficulties, however, is working on a file at the same time. This is about keyword tests but more about name mapping. Due to the XML structure and the GUIDs it contains, it is not possible to merge files after separate editing. However, this function would be very good and would significantly increase the effectiveness of everyday work with TestComplete. Now our request: Can you create a way to set up the project structure in such a way that merging is possible? Or can a tool be created within TestComplete that can handle the merging? There is the "Merge with" function for name mapping, but that is not what I mean and does not work in that sense. What would really make sense would be a project structure that allows files to be merged with a normal text editor or merge tool if they have been edited by 2 or more users at the same time. Can you implement something like this for TestComplete in the future?66Views2likes0CommentsExtended Scripting Support for Name Mapping
Currently (version 15.61), there is only rudimentary scripting support for the name mapping section (supports adding and removing name mappings, but unlike in the GUI functionality, adding name mappings is done without adding an alias). Any advanced action via scripts needs to use the name mapping file itself, which is very cumbersome. Example use cases: 1.) Advanced “Add” with parameters -> additional creation of an alias node 2.) Get/set identification properties separately via name mapping or alias nodes (without needing to run the application under test) 3.) Get path information (get name mapping path from alias and vice versa) 4.) Create your own scanning routine -> Scan with one click 5.) Apply conditional mode for identification properties in scripts Advantages: - The manipulation of the name mapping files is carried out “officially” - User doesn't have to worry about formatting the name mapping file - Overall easier creation of scripts related to name mapping21Views0likes0CommentsLatest TestComplete/Execute should support DevExpress 22.2.7.0
This year, almost all products in our company has upgradedDevExpress version to22.2.7.0, we have more than 5000 UI automation test cases are running with TC/TE 14.9, then it works fine with previous devexpress version21.1.6.0, however after it was upraded to 22.2.7.0, our products will be crashed when running with TC/TE, we also tried the latest version, it didn't work, we have to ask help from Smartbear, this is a blocker issue for us, without this issue fixed, we can not run our automation, hope you can support this new version as soon as possible, thanks in advance.104Views2likes1CommentNameMapping/ Object identification does not work for objects having some other tag types
TestComplete is not capable of detecting some objects with tags like <mat-card>. Although we have the option to spy on such objects using XPath. But name-mapping cannot be done for such objects as they do not get detected at all using name-mapping or even by tracing them through the object browser. On spying such objects, either their partent or child gets detected only. In order to do this, we have to name-map any other random object using Xpath, then go back to its name-mapped XPath and change it manually to the XPath of the object required to be detected. Name-Mapping is a fast way of detecting objects which significantly cuts down scripting time, hence we prefer using it. It would be good if TestComplete is enabled to detect some other tags as well through name-mapping and Object-Spy.12Views0likes0CommentsGithub Copilot Integration
GitHub Copilot suggests code completions as developers type and turns natural language prompts into coding suggestions based on the project's context and style conventions. One new idea would be having a copilot plugin for testcomplete would increase productivity and coding efficiency URL for reference - https://github.com/features/copilotPossible bug with using regexp for manual object name mapping
I have some desktop application under test where MDI windows have highly variable WndCaption property. This produces an awful lot of name mappings when I record keyword tests. Auto-generated mappings use two parameter-value pairs: "WndClass: Afx:00400000:b*" and "WndCaption: <whatever_caption>". However the captions have some distinctive patterns and naturally I wanted to utilize those patterns to reduce number of mappings. So I created the manual object mappings like this: wndType1: WndClass == "Afx:00400000:b*" WndCaption == "regexp:^Object: .*" wndType2: WndClass == "Afx:00400000:b*" WndCaption == "regexp:^!(Object:).* - \(.*\)$" ... and so on, paying special attention to possible ambiguities when constructing the regular expressions. Mapping worked as expected, showing correct MappedName in the Object Browser. Upon converting the existing keyword tests to use the new mapping, everything functioned seamlessly. However, when I attempted to record new keyword tests, TestComplete consistently generated its own mappings instead of utilizing the existing ones, despite my efforts. After some trial and error, I resorted to replacing the regular expressions with the combination of conditions and wildcards: wndType1: WndClass =="Afx:00400000:b*" WndCaption =="Object: *" wndType2: WndClass =="Afx:00400000:b*" WndCaption == "* - (*)" ANDWndCaption !="Object: *" And all of a sudden everything works like a charm! I believe this behavior is not intended, especially since I couldn't find any mention of limitations related to the use of regular expressions in the documentation available.93Views0likes0Comments