How to setup Edge TestComplete Extension settings in script?
I am running tests from Azure Pipeline. This pipeline is preparing required Win11 Virtual Machines and then it starts Test Plans using Test Execute. Several test plans requires to open local html files, but this can be done only if in TC Extension we enable "Allow access to file URLs". I have created test case which is enabling this option, but unfortunately this works only when I run Test plan manually in TestComplete. When I use Azure Pipeline to start this full testing, it is always failing in very beginning to find Details button inside Installed extensions page. First, in order to see Edge Settings page Objects I have enabled to accept any window in Current Project Properties(Found this suggestion in this forum) And only then I was able to see all objects from Edge settings page in Object Browser, but Object Spy still does not recognize any object and shows only the main page info. In test itself, I am opening extensions webpage and checking if its Object Type is Form. This way I hope that all mapped objects of this Form will be initialized. Then I am setting a variable with direct path till this Details button and it worked, but only on manual test, failed in Azure pipeline. Then I have mapped this Details button and all its parental objects. Used this Mapped Objects path and it worked on manual run, but again failing when i run same test in Azure Pipeline. Variables for this button If condition to check if this button is visible on each variable. On Manual run I am getting success when in azure Pipeline with new fresh VM it failed reported error about failing to find button Details object property I have made many tests and various additional actions to refresh Object browser, refresh mapping, added various delays and checks, but nothing is helping and each time it fails on Azure pipeline. The difference is that in Azure Pipeline it is always creating new virtual machines, installing all required software and then starting Test plans. So each time it is new fresh test environment and new first start for Test Execute. I assume this new fresh start is the cause of it and it fails because everything is empty. Any suggestion how I could get those Edge extensions page objects initialized in very start of testing? It seems that those, somehow are not active or does not exist and then mapping does not work. Thank you all in advance.40Views0likes3CommentsWarning messages in the test run log for improve performance
Hello, Recently I have updated all my nameMapping to use unique identifiers in the XPath and deleted all others that TC saved when recorded. So tipically I have only one selector for each object or element. When I ran the test it gave me the following warning almost for all the objects. You can improve the performance of the object search in the test. The NameMapping.Sys.browser.pageAuth.login_SignIn_Btn object can be found faster if you make //input[@type="submit"] the first selector in its selector list. And in the nameMapping for this object I see only one selector as I mentioned above. Still not sure why its throwing warning messages. Even when I click on Improve performance button in the log it just added an Empty selector, and even with that when I rerun the test it gave same message. One another thing is that the Extended Find column doesn't have any checkboxes. Is there something I missed in the settings or somewhere else TIA551Views1like3CommentsEdge browser compatibility
Hi all, with latest Test Complete and Test Execute version (15.63) we are experiencing lot of issues with the Edge browser interaction, for our web tests. For example, the following errors and exceptions makes not possible to correctly execute the tests: Unable to navigate exceptions: Other strange exceptions when launching Edge: We have found this page: https://support.smartbear.com/testcomplete/docs/app-testing/web/general/supported-browsers-and-technologies.html , where it is listed that the supported browser version is: Microsoft Edge 83 - 121 (Chromium-based, both 32-bit and 64-bit versions) Since the 121 version is a very old one (released on December by Microsoft), Test Complete is really not supporting any new versions of this browser? Or is this page hopefully containing obsolete information? Currently we have got the version 123, since the browser is updated automatically by O.S. and Edge browser cannot be downgraded. Could you please let us know if latest versions are really not supported? Regards, Simona68Views0likes5CommentsSwitching between headless/non-headless execution
Is there a good way to do what the title says? I have a switch statement that will launch my browser and login either headless or non-headless: function chooseTestMode(mode) { switch (mode) { case "non-headless": runNonHeadless(); break; case "headless": runHeadless(); break; default: runNonHeadless(); } } This works but the tests that I actually want to run either headless or non-headless, may have navigate statements or other actions which will not for both test modes. What is a good way to handle this? Is there one?14Views0likes0CommentsBest way to handle Azure login using TestComplete
Our new web app has Azure login. I was able to create fake test logins(email and password) and they do work. I was also able to create a login script which is working when running non-headless: function Login() { Browsers.Item(Project.Variables.browser).Navigate(Project.Variables.releasebuild); let browser = Aliases.browser; let emailForm = browser.pageSignInToYourAccount.formF1; let selectAccount = emailForm.imageImages; let passwordForm = browser.pageFsUpsComAdfsLsClientRequestI.formLoginform; Delay(2000); selectAccount.Click(); emailForm.emailinputEmployeeNumberUpsCom.SetText(Project.Variables.User1); emailForm.submitbuttonNext.Click(); //Bypass additional screen if present bypassAccountTypeSelection(); passwordForm.passwordboxPasswordinput.SetText(Project.Variables.User1PW); passwordForm.textnodeSubmitbutton.Click(); //Refresh page Delay(1000); refreshPage(); } This seems like a somewhat fragile implementation though. The bypassAccountTypeSelection() function is needed because sometimes there is an additional screen that requires a click. The main issue is running headless does not work at all. In looking at the logs, I am seeing screens that I do not see when logging in manually or running non-headless. I feel there must be a better way to handle logging in to a web app that has Azure auth. I don't think disabling it is a viable option unfortunately. Previous web apps I have worked with have had a much simpler login flow and there was no issue headless or non-headless. This is my first time working with Azure login stuff.Solved84Views0likes6CommentsProject error stopping execution
When running multiple tests in one run I quite often get project errors that occur which stops the execution of the tests until I have selected an option from the pop up. This is a problem as I often will run tests when not keeping an eye on them so are hopefully completed by the following day so if this stops it wastes time. I have tests to continue on failures so that the following tests aren't impacted but this error seems to keep popping up. If I run the test that has the issue by itself after theres no issue with it so does anyone know why this would keep happening on different tests and how to stop it?33Views0likes5CommentsInspecting a DotNetBrowser Chromium control
Hello I am using a desktop application in Delphi that has an integrated DotNetBrowser Chromium control. I am using the -cdpAutoSetPort parameter, but despite that, I only see the container of the control and not the objects inside it. I have the Full version of TestComplete (desktop, web, mobile, AI). Is the DotNetBrowser Chromium control supported by TestComplete 15 ? Or is DotNetBrowser Chromium different from CEF ? Thank you. Best regards. william62Views1like3Comments