Contributions
Test Item Checkbox Bug
Hello, There seems to be a bug in TC 10.3 where collapsing a Test Item can cause an unrelated Test Item's checkbox to toggle. See video here: http://screencast.com/t/trrdOchRWdqu This bug has severe consequences for us, as sometimes Tests that we don't want to run end up running or tests that we want to run don't run. Please fix!1.3KViews0likes1CommentTestExecute 30 minute hang on particular control
sub test theAlias = "NameMapping.Sys.Browser.Application.Modal.InOut.CancelButton" set ctrl = Eval(theAlias) Call checkObjExists(ctrl) end sub function checkObjExists(object) Sys.Refresh NameMapping.Sys.RefreshMappingInfo if isSupported(object, "exists") then if not object.exists then checkObjExists = false exit function end if end if checkObjExists = true end function This code can hang at 'object.exists' for 30 minutes. Strangely, it's not consistent.It seems to happen for 1 particular control we have which we need to click right after logging in. This is right after the entire page has just loaded. During the 30 minutes, the CPU is at 100%. After 30 minutes the control is finally clicked.This is happening on a Windows 7 VM (Virtual PC) using TestExecute 9.3 with 2 GB of RAM and plenty of HD space. Also, it doesn't always happen. It is fine at the start of our long 16 hour test. Many login/logouts are done during the test. After a while though, the 30 minute hang starts after login, and hangs on every login at that point until the end of the test. I have created a video of just the segment of the NameMap under question: http://screencast.com/t/eOeaSR8d. NameMapping.Sys.Browser.Application.Modal.InOut.CancelButton is the Alias that hangs for 30 minutes, sometimes. The code above is the simplified version of our code that results in the hang. The String Alias is brought in from a spreadsheet. I created another video to show the Object Tree of the NameMap Alias under question and all its parents: http://screencast.com/t/TmBjJcOoh3cI. Any help on this would be much appreciated.3.2KViews0likes1CommentPossible to detect HTTP POST and HTTP GET requests from the Browser?
Hello all, We are in need of something like the following: Sys.Browser.Page.MyButton.Click() httpPostRequest = waitForHttpPostRequest(maxWaitTime = 10ms) if httpPostRequest then waitForHttpGetRequest(maxWaitTime = 120000ms) waitForPageToLoad() The reason we need this is because, after the Click(), in theory an HTTP POST request should either be sent immediately, or never, as a result of the Click(). Therefore if it's not sent within 10ms return False, otherwise return True as soon as an HTTP POST requestis detected. If an HTTP POST request is detected, then wait for an HTTP GET request for up to 2 minutes. An HTTP GET request should be sent within a few seconds, so now the page is definitely loading, therefore it's now safe to wait for the page to finish loading. Fiddler has the ability to monitor such things. I'm hoping TestComplete has something built in for this to help us deal with these random delays that occur between Click() and the page actually loading. Thanks, Robert5.7KViews0likes2Comments- 1.7KViews0likes0Comments
'Search for a Mapped Object Took Too Much Time' Warning
Hello All, With TestComplete 9.3 we are receiving the above warning message. The warning is occurring because we have Extended Find objects that are deep enough from the parent that they take more than 3 seconds to find. The only way wehave foundto increase the timeout from 3 seconds is to increase the Auto-Wait timeout, however, for us this is not an option due to the design of our system. We need Auto-Wait to be set to 0. Is there another way to increase the timeout for the above warning? If not, is there any way to turn off this warning? We are not worriedabout how long it takes to find our Extended Find objects. We're more concerned aboutnot having thesewarnings in the log. There should definitely be an option to turn off this warning if there isn't one somewhere already. Thanks, Robert.10KViews0likes4CommentsTC9 bugs when recording and expecting Mapped Names to be used
Hi all, I have a scenario where I have several buttons that are identical in the application. Only 1 can be visible on the screen at a timethough and I am only interested in the one that's currently visible on the screen. If I record myself clicking on the button, then review the script, it uses the mapped name as expected (Aliases.Main.ButtonA). If I play the script back, TC can't click it until it's active. This happens probably because TC finds one of the identical but invisible buttons and therefore can't click it. The solution is to add the "VisibleOnScreen" = True property to the name mapping definition for this control. However after adding that and thenrecording myself clicking the button, it no longer uses the mapped name. It instead uses Aliases.Main.SubmitButton(0)). Are there any known solutions to this problem? Thanks, Robert19KViews0likes1CommentObject tree comparing
Hey All, We have objects whos names change slightly in each build. For example an object may be called Image("DXR_12_2_axd_bSxSM") in the current build and called Image("DXR_12_2_axd_SxMDI") in the next build. When this happens, the Object.Compare reports "Image("DXR_12_2_axd_bSxSM") object not found." I understand I could manually remove such objects from my object store but that would take a long time, and we re-build our store for every build and run it against the next build to see what has changed in the GUI. Ideally Object.Compare could be set up to ignore whenImage("DXR_12_2_axd_*") is not found. Thanks, Robert21KViews0likes1CommentRecord Using Name Mapping Aliases To Support Conditional Extended Find?
Hi All, I've recently upgraded to TestComplete 9 where the support for Extended Find was added when using Name Mapping Aliases while recording. This is great, however, most of our controls are mapped in a panel that is using Conditional & Extended Find simultaneously. So for example this panel is named X if you are on page x, and Y if you are on page y, as it's all based on the URL you are currently at. We did this so the controls for each respective page are mapped under an appropriate name. Essentially the same panel has many many names depending on which URL you are at. We were steering away from having to call this panel "Everything", because that's essentially what it is. This was the only way to get the structure of the Name Map as inuitive as we want it to be and we don't plan to change this. The question is, is there a way around this issue? If not is there a plan to support Conditional & Extended Find controls when recording with Name Mapping Aliases in a future update? Thanks, Robert20KViews0likes1CommentRe: Testing Tab Order
Just to clarify with anyone who might see this thread, there was 1 typo in the solution... the working code is: var focusedControlUniqueID = page.zDocument.activeElement.uniqueID; var focusedObject = page.NativeWebObject.Find("uniqueID", focusedControlUniqueID) OR if you want a 1 liner: var focusedObject = page.NativeWebObject.Find("uniqueID", page.zDocument.activeElement.uniqueID)1KViews0likes0Comments