ContributionsMost RecentMost LikesSolutionsRe: Create test items during runtime I hadn't thought about it. I guess when I find the time I could make a feature request for it. Re: Create test items during runtime Unfortunatly I haven't been able to create a solution for this. I am still required to keep the excel file and test items in sync manually. I assume that is the same problem you are having. Re: What's wrong with this throw statement in JScript? I believe your code works as you intended. However keep this in mind: In TestComplete, if a script calls an object method that is declared in another unit, and this method throws an exception, the exception cannot be caught and handled by the try {} block in the main script. Keep this in mind when developing object-oriented test scripts using native JScript functionality. Source:https://support.smartbear.com/viewarticle/70308/ Check the example code under header "Using Objects Defined in Other Units". I try to avoid exceptions and instead use event handlers because of this. Re: How can I clone objects in TestComplete javascript? TestComplete actually uses Jscript, so some Javascript functions and libraries are not supported here. I couldn't find a one-liner solution for your problem either. Any solution I found looked similar to your implementation, though I do have a comment. Why do you want to return a boolean? I would return the copied object, or null if something is wrong. This way you dont needthe second argument to the function. Right now with your code: if((other === null) || (typeof other !== "object")) { return true; } It doesn't make sense to me, why would you return true when nothing happened? Also, you already do: obj = obj || {}; with your second argument, and in your example code you do: var copy={}; if(clone(person, copy)) ... There is no need to do var copy = {}. If you would do var copy = {//some non-empty object}, then it wouldn't be a clone anymore, so thats another reason to remove the argument. I would make it something like: function clone(obj) { if((obj === null) || (typeof obj !== "object")){ return null; // or throw an error } var cloneObj = {}; for(var prop in obj){ if(obj.hasOwnProperty(prop)){ if(typeof obj[prop] == 'object'){ cloneObj[prop] = clone(obj[prop]); } else { cloneObj[prop] = obj[prop]; } } } return cloneObj; } Note, I haven't tested this code :) Re: Can I run different testsScripts simultaneously Does this article about running code asynchronously help?http://support.smartbear.com/viewarticle/73616/ Re: Newbie - 1st script - unable to navigate to the about:blank page - why? Not sure if this problem is caused by it, but since you mentioned youre new to TC: I see that it opens firefox, so make sure you have the right patchesfor it installed:http://support.smartbear.com/downloads/testcomplete/firefox-patches/ Re: Clear breakpoints by script Yeah, thats probably better than my suggestion Re: Clear breakpoints by script NOTE: Backup your project before you try this, just in case. Haven't got time to test this myself, but I believe the breakpoints are stored in the project suite .tcCfgExtender file. I think this file is generated and not required to run your tests. So you could try to delete this before you run. Re: 'Process "ieexplore" stayed in the system after the close command was used." I had used the Terminate() solution before, and hasitatedto use this code for a while for the exact same reason that I was afraid that it would slow down my test suite, or possibly never end. Butso far so good, never had any infite loops. Maybe my test suite gained a few seconds, butI prefer this solution because when you open the browser after Terminate(), you'd often get a message like "The browser has been closed unexpectedly, would you like to restore?" or something like that, I didn't want that. And besides, if a process refuses to close infinitely, then I blame the process, not the code :) Re: 'Process "ieexplore" stayed in the system after the close command was used." I use this code to close internet explorer (Jscript): while(Sys.WaitProcess("iexplore").Exists){ Sys.Process("iexplore").Close(); } It may take a few loops before it actually closes, but I consider it a cleaner more stable way than to abruptly kill the process with Terminate().