Can TC automation be done through remote desktop connection of Windows?
Hi there: My case is as below: 1 Use TC open remote desktop connection of Windows, then input IP, click connect 2 Switch to remote desktop of target server, then do some operation on target app of target server 3 back to local server do next step operation Can TC do thin kind of work like I said? If so, how can I write the script to do like this? I really appreciate any help you can provide.Solved55Views0likes7CommentsRuntimeErrors after upgrading to 15.68.8.7
Hello, I recently upgraded to the latest version of TestComplete, and unfortunately, I'm experiencing issues. I'm still facing a RuntimeError originating from TestComplete's native functions (I'm using it with Python scripts). The errors occur with functions like Log.Message, Log.AppendFolder, and others. However, the problem is quite random, as it's not always the same line of code that fails. As a result, I'm unable to execute any tests at the moment and will need to downgrade to the previous version. Is anyone facing this problem as well?263Views2likes12CommentsHow to read a range of excel cells as List or List of List Python using Excel OLE Objects?
I am migrating the existing vba code to py. so we are using the ole object to read excel like below. can someone help to read range of cells, the documentation points to read only a single value instead of range. https://support.smartbear.com/testcomplete/docs/reference/test-objects/members/sys/oleobject-property-sys-object.html Even i tried to download additional samples and that also don't have any range function. i need a good documentaion for excel using ole Excel = Sys.OleObject["Excel.Application"] Excel.Workbooks.Open("C:\\MyFile.xlsx") RowCount = Excel.ActiveSheet.UsedRange.Rows.Count ColumnCount = Excel.ActiveSheet.UsedRange.Columns.Count for i in range(1, RowCount + 1): s = ""; for j in range(1, ColumnCount + 1): ## Is there anyway to read range or all content of the sheet to list of list? s = s + VarToString(Excel.Cells.Item[i, j]) + '\r\n' Log.Message("Row: " + VarToString(i), s); Excel.Quit();1.2KViews0likes8CommentsHow cant I define a param using in different testcase?
Hi there, I have a TC project which has several testcase (wrote by JaveScript), I need to init a big Object before my Project, It only should be inited once, I know TC has a Event named OnTestStart executing before each testcase run, which is not suitable for my case, Does TC have a Event only trigger once like JUnit "BeforeAll" annotation?Solved137Views0likes10CommentsHow to perform certain actions for a specific amount of time in a loop
I want to perform certain action inside a Do Loop statement, in this case i want to ensure that i get out of the loop after ten minutes have elapsed. What should be the MaxDelay+X value ? Sub Test MaxDelay = 0 Do Call aqUtils.Delay(1,"Reports are being signed..") MaxDelay=MaxDelay+ X Loop Until MaxDelay > 600000 End Sub ThanksSolved68Views0likes4Commentshow can I invoke function between different project in one projectSuit?
Hi there, Here is my case, There one projectSuit name TestSuite, I created ProjectOne and ProjectTwo in it, Then created Unit1 in ProjectOne, created Unit1 in ProjectTwo, Is there anythy that I invoke a function of Unit1 in ProjectTwo from a function of Unit1 in ProjectOne? Thanks in adcanced。Solved31Views0likes2CommentsSE Tip : Drag-and-drop one object to another
Hi all, A common challenge in automation is achieving precise drag-and-drop actions, especially when dealing with dynamic or responsive user interfaces. This question comes up regularly in different ways - how do I refine the drag-and-drop action in TestComplete? TestComplete's built-in Drag action is designed to drag a specific Alias object from a given point to another point, but at a pixel offset (i.e. drag Alias....Button by X/Y pixels). While useful as a "jumping off point", this approach can be problematic for obvious reasons (Dynamic UIs, changing screen resolutions, inconsistent offsets) leading to brittle tests. Fortunately, TestComplete method parameters offer a high degree of customisation. By evaluating and utilising exposed properties like ScreenTop/ScreenLeft, we can create more robust and adaptable drag-and-drop actions. This allows us to instead dynamically reference the coordinates of a target object, or better still use exposed values in simple calculations, like figuring out the offset value for the Drag action. This Python script example calculates the offset using the common ScreenTop and ScreenLeft positions of both objects then passes the difference to the Drag action, allowing us to drag one given object to another given object with much more flexibility : def dragToObject(clientObj, targetObj): # Using ScreenLeft property to drag horizontally; ScreenTop for vertical fromObjectTop = aqObject.GetPropertyValue(clientObj, "ScreenTop") fromObjectLeft = aqObject.GetPropertyValue(clientObj, "ScreenLeft") toObjectTop = aqObject.GetPropertyValue(targetObj, "ScreenTop") toObjectLeft = aqObject.GetPropertyValue(targetObj, "ScreenLeft") dragY = toObjectTop-fromObjectTop dragX = toObjectLeft-fromObjectLeft Log.Message("Dragging "+aqConvert.IntToStr(dragX)+"px horizontally and"+aqConvert.IntToStr(dragY)+"px vertically") clientObj.Drag(-1, -1, dragX, dragY) You can then even utilise this in your KeywordTests, by changing the input parameter Mode to Onscreen Object, which enables the Object Picker : Now you have a way to drag one object to another - for example a value into a table? Hope this gets the creative juices going - can you think of other ways you might handle dynamic values in other Action methods? Regards, Mike TestComplete Solutions Engineer92Views5likes2CommentsChecking until a window doesn't exist
Is there any way to check until a window doesn't exist. An inverse .WaitWindow()? Alternatively, is there a version of .Exists() that just returns bool? I've looked around forums and tried implementing this myself, but haven't found anything that works. I'm using TC with Python. I set exceptions to not panic/exit early in TC, but .Exists() still does for some reason, even when caught.129Views0likes8CommentsName Mapping not working on remote browser
The name mapping and test cases work fine on local browsers, but would complain about page or object not found when running headless remote browsers and in parallel testing. I have the following setup for browser name mapping: For headless setup I have: server = "localhost" capabilities = { "browserName": "chrome", "headless" : "true", "screenResolution": "1920x1080", "platform" : "Headless", "record_video": "true" } Browsers.RemoteItem[server, capabilities].Run(url) Is this the correct way to work with name mapping on headless browser?1KViews0likes15CommentsMy opened window from a button click close immediately
I am trying to click on a button inside a popup that will open a window to browse files, but when TestComplete click the button when running the Keyword Test, what happen is the following: the popup containing the button clicked close (as it should) and the window to browse files open and close immediately. I am trying to do this in a python script that is executed in the Keyword Test. I tried ClickButton, Click, DoubleClick, but it all do the same. The button opening the window is in WPF. If someone have an idea to keep the window open when it is opened by testcomplete, I would be thankful.Solved61Views0likes4Comments