Contributions
Same controlName
Hello! We put together our forms from smaller frames, which consist of several child controls. I discovered that two names of the child controls are identical: "cmbx_Bitrate". TestComplete can not distinguish! There is only one entry "cmbx_Bitrate" in the Object Browser and of course it's the wrong control, I do not need. How can I access directly to my target-control? The full-mapped-name also publishes out the same path to the wrong control! I'm looking forward to an early reply Necip Sariali Hallo! Wir stellen unsere Formulare aus kleineren Frames zusammen, die aus mehreren Kind-Controls bestehen. Ich entdeckte, dass der Name der Kind-Controls "cmbx_Bitrate" identisch ist. TestComplete kann sie aber nicht unterscheiden! Es gibt nur einen Eintrag "cmbx_Bitrate" im Object-Browser und natürlich ist es der falsche Control, den ich nicht brauche. Wie kann ich auf direkte Weise einen ganz bestimmten spezifischen Control ansteuern? Der Full-Mapped-Name gibt ebenfalls den selben Pfad aus! Ich würde mich auf eine baldige Antwort freuen Necip Sariali14KViews0likes3CommentsRe: Generating test-data during test-recording
thank you, Margarete, this was the right answer for another question! :-D i'll now do this: modify my test-appl and add a button to my form. after each operation i'll press the button and save my current internal data-structure into a file after recording i have to modify my tc-script now: not to press this additional button but instead peek the result out of the file to compare with the current internal-data. #file closed.993Views0likes0CommentsRe: Generating test-data during test-recording
at first, thank you, Margret, for the speedy response and second : excuse me for my awful grammer. i don't mean the objects of the vcl. let me simply say you have an array of 5 integers (1,2,3,4,5) you draw this integers on a canvas. you can move this integers with the mouse every movement changes the order of the numbers there are a lot of possiblities to move between these numbers i would like do this: start recording start: - move a number with the mouse (-> button down) - when i release the mouse-button (-> mouse up) i would like to save the current array of integers (e.g. 5,2,3,4,1) - goto start: (until i stop recording) now i have a script x (tc) and a file y with following content: 5,2,3,4,1 5,3,2,4,1 2,5,2,4,1 etc. when i start the automated test (script x) tc would exactly move the numbers as i have did and i could compare on each mouse-up with the next numberes in the file y.993Views0likes0CommentsGenerating test-data during test-recording
hello! we are working with a timeline. it has a lot of objects (sound, picture, text). every move of these objects with the mouse changes the internal data-structure. to create for each combination of mouse-operations i need a lot of single recordings - checking out manually the internal data-structure. my idea is: instead of figure out the internal data-structure for every single move on the timeline, i would prefere that: do a lot of movements on the timeline in one recording-session and save automatically the internal data-structur on mouse-button-up-event in a unique-name file. these stored data-structures are used later to compare with. is there a possiblity to catch the mouse-button-up-event during recording a test? example like this: #preparation tc_recorder.OnMouseUpEvent := myMouseUpEvent; procedure myMouseUpEvent; begin sys.myprocess.SaveInternalData; // end; #recording -- record started! -- on MouseUp myMouseUpEvent called! sincerly necip sariali13KViews0likes4Comments[bug] "mapped name" and "fully qualified name" in the same project
Hello! My project ist generated with automatic mapping. NowI cameto a placewhereI need the absoluteaddressing of an object becausethe mapping skips hierarchy-levels or something in that way and so I do notget to the desired object. To determinethe absoluteaddressingof the objectI havestarteda freshprojectandget the followingvalue: tdxDockControl := Sys.Process=('SlideShow') .MainForm.MainPanel .dxDockSite.Window('TdxVertContainerDockSite', '*') .Window('TdxHorizContainerDockSite','Toolbox, layoutdesigners' Properties') .DP_20080221_115605253.PreviewWindowView.Window('TdxDockControl','', 1); (Code verifyed!) This piece ofcodeIpastedinmy originalproject.The object is notfound!!! So it isnot possible to use "absolute adressing of objects" within a project with "automated genereted mappedobjects" or what I am doing wrong? sincerly Necip Sariali21KViews0likes2CommentsRe: synchronization between tc and application
hi robert, thank you. i know the methods for waiting for an object with tc. i am not longer in the first class ;) ... but in the second! :) and still a novice as a tc-tester. the subject is not to wait for an vcl-object. the problem is that the drawing of our timeline needs time and there are so many interactions in our software like update the thumbs, prepare gui-properties so that i can not really guess how much time etc. .... yes one of the other factor is the power of the computer. the test-application is definitifly in a clear state if there is no traffic inside! in other words: the process is on idle state. here i found a source to redirect the main process function to count up and down an idle-counter. (TApplicationEvents doesn't really work) http://forum.delphi-treff.de/showthread.php?18515-Alternative-zu-OnIdle/page2 http://forums.about.com/n/pfx/forum.aspx?tsn=2&nav=messages&webtag=ab-delphi&tid=16716 i am working now on implementing this solution in our tc-Helper procedure WaitOnIdle; begin while gIdleCounter <> 0 do Sleep(100); end; this procedure exits if the process is on idle-state.706Views0likes0Commentssynchronization between tc and application
hello! tc fires a lot of commands to my test-application: do command x1, do command x2, do command x3... get result then: verify result. but in some case the test-application needs time to handle the command. therefore it is necessary to wait for test-application completation command x1 before sending command x2. the way for waiting is to use "delay" in tc, but this is not really a good style. the solution cries for the design pattern "shake-hand-protokoll". how do you handle this problem?18KViews0likes3Comments