Implementation of Built-in RightClickNextTo Function in OCR Module
We propose the addition of a new built-in function called RightClickNextTo in the OCR module of TestComplete. This function would work similarly to the existing ClickNextTo but would simulate a right-click action next to an identified text element based on its coordinates. Currently, we have implemented a custom RightClickNextTo function by leveraging the x1, y1, x2, y2, height, and width coordinates obtained from the Bounds function of the OCR object. After identifying the text, the function calculates the necessary offset and direction to perform the right-click action. However, we initially encountered challenges when applying this function to the BlockByText object due to coordinates errors. After further experimentation, we realized that the coordinates should be applied directly to the ClickR in the image object or the screen object identified through the TestComplete Object Spy, bypassing the OCR object's bounds error. While this solution works, we believe that incorporating this functionality as a native built-in feature within the OCR module would streamline the process and make it more accessible to all users. The RightClickNextTo function could be used for more precise interaction with text elements based on their coordinates, particularly for scenarios where right-clicking actions are needed, improving the flexibility and usability of the OCR module for automated testing. By making this a built-in function, TestComplete users would save time and avoid errors when trying to implement similar solution manually, improving overall productivity and reducing complexity in the automation process. Code Snippet: [ Refer the attached image] This code snippet demonstrates how the custom RightClickNextTo function calculates the coordinates and applies a right-click at the identified text's location using the image or screen object. We truly appreciate your consideration of this suggestion, as making it a built-in function would greatly enhance the usability of the OCR module for right-click action, benefiting users and simplifying the automation process.please add Qt6.5 (LTS) Support
Qt6.5 (LTS) was released on April 3, 2023 and some bugs in Qt6.2 seem to be implemented only in Qt6.5. I believe Qt is widely used in desktop softwares and the demands of testings of softwares with newest Qt is large. However, TestComplete supports currently up to Qt6.2 and no update plan is published. We found that the newest TestComplete (15.54) cannot recognize any Qt-Objects in our software with Qt6.5. (Qt6-Objects are not recognized) Therefore, I would like to request Qt6.5 support urgently. Also, it would be helpful, if we could hear, when Qt6.5 is planned to be supported. Thank you.348Views6likes2CommentsDesktop Testing Parallelization for CI/CD
Right now, when we want to parallelize our desktop tests with TestComplete, we assign tags to various groups, then use GitHub Actions to run the various tags in parallel. While this works, it's also a very manual process that requires rebalancing test groups by hand. It would be ideal if there was some way to have TestComplete split groups of tests for running in batches, that I could then feed into our CI/CD Actions. This could work for non-Desktop tests as well, but I'm focusing on Desktop testing since there is at least some parallelization for web and mobile.7Views0likes0CommentsTestComplete not recognizing object after updating of Component One control to latest version
TestComplete (ver 15.66.7) is not recognizing an grid objects after updating Component One Control to the latest version (2023.3.1.0). Looks like TestComplete supports ComponentOne C1Command for .NET 2.0.2. Lots of tests are failing because of this and we have release next week.11Views0likes0Comments.NET Core 8 Support
Hi, I wanted to ask when .NET assemblies with .NET Core and .NET 8.0 applications will be supported. https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core Because the versions currently supported by TC are officially outdated and are no longer supported. Thanks and best regards21Views0likes0CommentsOCR Recognize DetectTable enhancements
// Specify the preferable search area var searchPref = spLargest; var table = OCR.Recognize(Grid).DetectTable(searchPref, hasHeader); I have above code, and depending on what is configured in the searchPref variabele, it detects or leaves out certain columns for the same Grid. I feel it's not that robust. 1st NF: perhaps some preview window could be opened to actually see at which columns it looks when using DetectTable, because now you don't have such an overview and you hope for the best and try different options, spLargest etc... 2nd NF: Behaviour like the Table Checkpoint wizard. In the Table Checkpoint wizard you could drag and specify your table area to let OCR take a look at and pull data from non-supported grids/tables. So you can be more specific than the standard DetectTable functionality.10Views0likes1CommentonLogError Event handler should handle Freeze Diagnostics Error
If an error is logged as a result of the Freeze Diagnostics this should be handled by the onLogError event handler so the user can add code to set how the test reacts to the freeze. Currently this is not handled(confirmed by smartbear support) which makes the Freeze Diagnostic tool almost useless since the user cannot program the test to react to the freeze. The test just ends, which basically no different than if the freeze diagnostic is off. This is very similar to the process crashed message also ignores the event handler. https://community.smartbear.com/idea/testxcompletefeaturerequests/onlogerror-event-handler-should-handle-process-crashed-message/233461 Really all errors should go through event handler or else it just become this guessing game of when it will and when it won't work...even if the issues are documented as they are with the crash error.Project suite - Global recordings
Consider the following scenario: -A base solution, created with various recording that can be re-used by other solutions. Let's take an example, Login recording for example. -A solution C, which has a project that already uses some reference recordings, like the Login Recording from the base solution. When you create another project in solution C and want to re-use the already referenced Login Recording of the project that was there initially, for the new test plan of the newly created project this is not possible when you drag and try to drop the Login recording into the new test plan. TestComplete wouldn't allow it. Now you have to add reference the same Login recording from the base solution again in your new project, whilst it is already referenced in the project that was there before. Hence you have now two times the same recording from the base solution referenced for different projects in your solution. I would go for something like project suite referenced recordings, which are only referenced one time, and can be re-used by different projects/testplans in your solution without the need to add the same recording each time for every project in your solution. Another scenario: One solution with various projects which consists of recordings. You create a new project called B in this solution and want to re-use a recording from an existing project. Then you have add a reference to a recording from another project in the same solution. This is cumbersome.29Views0likes0CommentsGlobal Items in TestComplete
Every project has his Stores, NameMapping, TestedApps etc in a Project Suite project scoped. My idea is, that if you have a common objects that can be re-used by multiple projects, recordings, name mapping objects, instead of having to re-import them for every project in your suite, you have the option to also have them globally on Project Suite Level, to be then shared over the various projects instead of each project having to it's own version of Name Mapping, Tested Applications and such. Example: Project A -> user recordings, namemapping from base solution Project B --> user recordings, namemapping from base solution What it is today and what it could be: If you use global namemapping, user recording that your projects digest, then you only have to update/modify them in one place, instead of all your projects. I do would have the option still to have project scoped, namemapping, recordings etc next to the globally ones.81Views6likes2Comments