ContributionsMost RecentMost LikesSolutionsRe: Does TestComplete Desktop run on Linux? AlexKaras wrote: You may try to search this forum for the thread that discussed communication with the Unix systems if you need this. Executing commands on Remote Linux machine from Test Complete installed on Windows machine Re: How to use testcomplete in Agile mgroen2 wrote: Marsha_R,Darshana,blacy,vajindarladdad every day new software is delivered so all maintenance on the framework needs to be done in max. 8 hours. If this is a web application that is undergoing constant evolution, then you would probably need a data driven test harness capable of first investigating/mapping out the web interface structure before starting any functional tests.Realistically, since the process that runs the UI components of the web interface are much less volatile, you would probably realize better results by concentrating automation efforts on a verbose set of tests for the back end functionality that processes user input and returns applicable outputs to the UI. Re: Incorrect Targets Identified in Record/Playback of Keyword Scripts chainmailguy wrote: there are 3 things I can change: screen resolution, pixel height for groups of items, and a slider for adjusting screen object size. As already mentioned, hard coded X,Y coordinates are rarely portable to different platforms for exactly the reasons you have already discovered. Whilehard coded X,Y coordinates are typically not recommended, there are some avenues available that will helpmitigate risk. One suggestion would be to leverage the Window object 'Position' action toset the size and position of a top-level window or MDI-child window in combination with the DotNet Screen.PrimaryScreen property which returns an object containing properties relating to the screen resolution - Set screen =dotNET.System_Windows_Forms.Screen.PrimaryScreen (see Width Property (Desktop Objectsfor more information) - to then programatically define X,Y coordinates that conform to the current screen resolution of the system under test. Re: How to ‘Wait’ object ‘Right’? I have found that it is better to be active, than reactive, whether dealing with a parent or child object. Identifying an object by 'waiting' using either the default timeout of the 'Exists' method, or explicitly specifying timeout values via the WaitProperty method is very reactive. In either case, rather than using some arbitrary timeout value, TestComplete providesthe Sys process list to find a parent object,or the object list for child objects. Thus,I find it more economical to use a loop limited by a max count and a finite delay (999 milliseconds for example) to identify an object's parent then use methods such asthe FindChild orFindAllChildren methods to ensure I am dealing with the correct object. ''' <summary>FindChildDialog</summary> ''' <param Type="String">[ByVal] parentName</param> ''' <param Type="String">[ByVal] wndCaption</param> ''' <param Type="Interger">[ByVal] intMax</param> ''' <returns type="Boolean">True if successful, otherwsie False</remarks> ''' <remarks>Search for child dialog with specified caption. Function fails if ''' the requried child is not located within the max number of retries</remarks> Function FindChildDialog(parentName, caption, intMax) FindChildDialog = False Dim parent, dlg, dlgs, i, msg, wndCaption Dim count : count = 0 Dim delay : delay = 999 Dim wndClass : wndClass = "WindowsForms10.Window.8.app.*" Do Sys.Refresh Set parent = Sys.WaitProcess(parentName, delay) If parent.WaitProperty("Exists", True, delay) Then parent.Refresh() dlgs = parent.FindAllChildren("WndClass", wndClass, 1, True) For i = 0 To UBound(dlgs) Set dlg = dlgs(i) If aqObject.IsSupported(dlg, "WndCaption") Then wndCaption = dlg.WndCaption ' use aqString.Compare for exact match or use aqString.Find ' if trying to identify object based on use of wildcards If aqString.Find(wndCaption, caption, 0, False) <> 0 Then If dlg.WaitProperty("Visible", True, delay) Then msg = aqString.Format("The '%s' windows dialog is visible", wndCaption) Log.Checkpoint msg,, pmNormal,, Sys.Desktop.ActiveWindow FindChildDialog = True End If End If End If Next End If count = count + 1 Set parent = Nothing Loop Until (FindChildDialog = True) Or (count < intMax) End Function ' FindChildDialod Re: TC doesnt find the correct cmd petra wrote: Today i realised that this program generate a hidden cmd, which exists even i close the programm. (started TC as admin and looked in Object Browser) Have you considered usingthe FindChild method of the Sys object to locate the required process? Function FindConsoleSession() FindConsoleSession = False Dim procPath : procPath = "C:\Windows\System32\cmd.exe" Dim procName : procName = "Cmd" Dim wndCaption : wndCaption = "*" Dim wndClass : wndClass = "ConsoleWindowClass" Dim propNames : propNames = Array("Path", "ProcessName") Dim propValues : propValues = Array(procPath, procName) Dim proc, msg Set proc = Sys.FindChild(propNames, propValues, 1, True) ' verify console window is open/exists If proc.WaitProperty("Exists", True, 999) Then If proc.Window(wndClass, wndCaption, 1).Exists Then FindConsoleSession = True Else msg = aqString.Format("Cannot find the '%s' window", wndClass) Log.Error msg,, pmHighest,, Sys.Desktop.ActiveWindow StartConsoleSession = False End If Else msg = aqString.Format("Cannot find the '%s' window", procName) Log.Error msg,, pmHighest,, Sys.Desktop End If End Function Re: OCR Recognition help While I have personally not dealt with resolving captcha's, I did have to engineer a solution to reading text in an owner dranw control written in C++. I was able to leverage the OCR library packaged with Microsoft's PowerPoint and typically found that I had to first enlarge the image as the MSOCR library had issues with the default font and text size. Also, a quick web search and I see there are numerous links that outline how and offer code used to resolve the type of Captcha's you are working with: Python OCR… or how to break CAPTCHAs Solving CAPTCHA with OCR Re: OCR Recognition help This response is not really going to help, but I think you are missing theobvious in that Captcha is intended to prevent automation from decoding the message! :smileyvery-happy: Re: Try-Catch for Click Methods You will need to use the LockEvent method in a custom OnLogError event handler. Re: Find method- Is it possible to define property to be different than a specific value Since you can't really define that type of property, seems like you would be better served defining the WndClass and Visible properties and using the FindAllChildren, then iterate the collection that is returned evaluating for the control with the ScreenLeft property value meets the required criteria: var x = <value>; var wndClass = "WindowClassName"; var props = new Array("WndClass", "Visible"); var values = new Array(wndClass, True); var ctrls = wnd.FindAllChildren(props, values, 15); for (var i = 0; i < ctrls.length; i++) if ()ctrls[i].ScreenLeft > x) { Log.Message("FullName: " + ctrls[i].FullName + "\r\n" + "ScreenLeft: " + ctrls[i].ScreenLeft); } } Re: what is the use of project variables ,can anyone explain where we use this project variables Sorry to for being obtuse, but did you first take a few minutes to read the Project and Project Suite Variables support article? I ask becasue the first sentence in the linked article provides a high level definition:"TestComplete tests use variables to store and exchange data during the test run"