ContributionsMost RecentMost LikesSolutionsRe: Has Anyone Migrated Their Project to Python From Another Language... I don't think it's possible to migrate from one language to another. Once a project is created around one language, that's it from there forward. For instance, we have one project that we coded in C# before we decided to go to JScript for everything. One of my tasks is to re-create that project from scratch, manually. Just being able to save it in another language would be cool, but technically infeasible. If you have 300+ projects in another language, I'm afraid your best bet is to leave them in that language. If you want to embrace Python, work every new project in Python from here forth, and assign resources to translate the past projects as available. If they have shared libraries, that would make it go even faster, but I don't think there's an easy way around this. Mapped Object Search How difficult would it be to implement a feature where one could select an object in the Name Mapping list and search across the current project for instances of it? Go to all the Keyword Tests (and possibly functions?) where that object is invoked? Or is there a way to do this already and I'm woefully unfamiliar with TC's capabilities? Re: Manual Step Needed "how about having the test start at the step after the login?" There are configuration steps that I wanted to take before the login. Once the program is loaded, any changes to the .ini's will be too late. But I'm afraid you may be right, I might have to have them start the program, log in, then start TestExecute after. It will limit the scope and versatility of the tests, but this might be the only way. Any SmartBear people want to weigh in on tests being able to pause for manual inputs? Would this be a request? Re: Manual Step Needed "Display the UserForm when the test starts. The tester enters their UserID and Password and clicks OK on the UserForm." This sounds like a manual step. If I can have a user enter information during the test, I will just have them enter it into the login screen and keep going from there. That's the only reason I would need their login information anyway. Re: Manual Step Needed "Why don’t you have mock system to test?" We have several here in house, and run extensive tests before distributing. However, we've had issues crop up in the past when our software hits a client's environment. What I'm developing now is a suite of tests that will run in a "live" sandbox in the site's environment as a final step when our tech support team installs upgrades. Since it's for medical environments, actual user information is restricted to me here at design time. Manual Step Needed In order to run certain tests, I need to have a user log into our software. I don't have access to their identification or password at design time. My initial thought was to have the tester start the tests, let them run to the login portion, then pause with a manual step for the tester to do that, then continue on with the rest of the automation. However, manual testing has been deprecated. Is there a better alternative to this scenario? Gaining access to the test environment, user information and passwords is strictly not possible at design time. I'm working on logic to collect whatever information is necessary at run time, such as the application path and location of the configuration files, etc. But there is no way to get the user login. SolvedRe: Hide projects from the TestExecute It's kind of kludgy, but what I did was create a "Remote" folder for the testers. Then I copied the project suites that are ready to run into there and removed all other projects from the suite. It does mean I have to maintain two different projects, but I didn't want them to see half created projects and sandboxes in the list of available tests. Re: Clear text before doing Send Keys Nice one, Hagai. I've got one in JScript I use before sending keys to a text object. Pass in whatever property you want to search for the text field with (I usually use Name, frequently with wildcards), the parameter, and the process. It also has to be a visible object. function ClearTextObject(ByProperty, Parameter, ProcessName) { var PropArray, ValuesArray, Process, Target; var Depth = 5; PropArray = new Array(ByProperty, "Visible"); ValuesArray = new Array(Parameter, true); Process = Sys.Process(ProcessName); Target = Process.FindChild(PropArray, ValuesArray, Depth); try { if (Target.Exists) { var Text = Target.Text; var Length = Text.length; Target.Click(); Target.Keys("[End]"); Indicator.PushText("Backspacing the text away."); for (i = 0; i < Length; i++) { Target.Keys("[BS]"); } Indicator.PopText(); } else Log.Error("The object was not found."); } catch (err) { Log.Error(err.description) } } Re: Drawing with Low Level XY I think it would be better to take X-Y Coordination as runtime I can get the X-Y coordinates of the click points in the bitmap on my system for my resolution. I can record them in a low level procedure relative to the window that displays them. However, I can't know ahead of time what resolution a tester will have, and the bitmap scales with it. I could record a low level procedure for every known resolution, but that would be extraordinarily time consuming. The window scales to the resolution. I can determine the resolution. I could theoretically scale the recorded X-Y coordinates accordingly at runtime, but that's what I'm posting about: how to do that. I appreciate the input, but it looks like the code you posted requires me to knowwhere to click at design time. I'm not having an issue seeing or clicking objects, I need a way to click precisely at specific points on an image. I see the image display box, I can click the points on my system, I just need a way to translate those coordinates to another system's resolution. So essentially, something that can catch the XY coordinates coming out of the playback, and apply a conversion. I'm recording the clicks at 1920x1080, so on any system that plays it back, instead of clicking (X,Y), it clicks: ((X / 1920 * CurrentMachineHeight), (Y / 1080 * CurrentMachineWidth)). Drawing with Low Level XY One of the tests my company has always had to do manually is drawing on calibrated bitmap images, clicking at labelled points in the picture to calibrate medical protocols. I can record the test with a Low Level procedure, and generate the list of X-Y coordinates and interactions, and the test will run fine on the machine I record the test with. However, if the playback machine has a different resolution it will not play back properly. I can get the resolution of the playback machine, and the twips conversion they have as a result (see below for the code I found), but I don't know how to apply the conversion during playback. I would really rather not have to manually convert all the coordinates even once, let alone doing it for each possible resolution. Is there a way to convert X-Y playback on the fly with a conversion formula for different resolutions? How to extract Twips on the playback machine: This will return the machine's Twips per Pixel. Just call the function when you need to insert the Twips into a formula instead of "magic numbers" like 12 or 15 (that may or may not be correct). function Twips() { var hWnd = Win32API.GetDesktopWindow(); var hDC = Win32API.GetDC(hWnd); var logPixY = Win32API.GetDeviceCaps(hDC, Win32API.LOGPIXELSY); Win32API.ReleaseDC(hWnd, hDC); return 1440 / logPixY; }