[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qftestJUI] Can qftestJUI be used under this situation?
Gregor, Thank you very much for the reply. I just want to be sure I understand... can the jython script actually access the JPanel (or other JComponent) object? Actually, a better question is, can jython be used to access any of our internal API's, for example, can I write a script that accesses a class with some static methods that is not part of the canvas itself? The big question, not sure I asked this right, but for those areas that can only be recorded via absolute/relative positions, is there any way to write java code that can be executed as part of the script, such that I can have a library of java coded procedures (methods?) and insert them into the script at certain points. The way I would like to see this work is that I can record the normal stuff, menus, dialogs, etc. Then, at the point where I need to automate the canvas, I can call to a java coded routine that can directly access any of the code being tested (anything public that is). Is this possible, if so, how? Thanks. --- Gregor Schmid <Gregor.Schmid@?.de> wrote: > > Hi Kevin, > > such things cannot be captured directly because > qftestJUI doesn't have > any idea what's shown in the canvas, but you can > easily use Jython to > achieve what you want. > > Let's say your canvas has a method called > getLocation(String objectID) > that retrieves the position of some graphic item. > You can the create a > procedure in qftestJUI that simulates a click on > such an item as > follows: > > First record a single mouse click on the canvas so > the canvas > component gets recorded. Let's assume the component > id is "Canvas". > Change the X/Y coordinates of the MPRC node to > $(ix), $(iy) and move > the node inside a newly created procedure as shown > below. > > > + Procedure clickItem > (Parameters objectID, x, y where x and y will be > relative to item, > 1,1 are good defaults for x,y) > + SUT script [see below] > + MPRC ($(ix), $(iy)) on Canvas > > > The SUT script needs to offset the given x/y > coordinate to the > position of the item: > > # get hold of the actual canvas object > canvas = rc.getComponent("Canvas") > # determine item location > pos = canvas.getLocation(rc.lookup("objectID")) > # store target position in ix/iy > rc.setLocal("ix", $(x) + pos.x) > rc.setLocal("iy", $(y) + pos.y) > > > That's all there is to it. That generic procedure > can be used whenever > you need to click on an item in your canvas. > > For details about the script, see the API reference > and the scripting > chapter in the user manual. > > Best regards, > Greg > > Kevin Duffey <supreme_java_guru_1@?.com> writes: > > > Hi everyone, > > > > We are looking to see if there is any way we can > run > > custom java code to access our internal APIs of > our > > application as part of the record/playback > process. > > The problem is, 2/3 of our application is a huge > > canvas that we paint on with our own simulated > painted > > components. Is there any way to record/playback > this > > without resorting to relative x,y locations? We > don't > > want things like the size of the painted > components, > > the size of the window, colors (if image > comparisons > > are being done) and so forth to be a problem. > > > > The only way we can see this being useful is if we > can > > use parts of our internal model that the canvas > uses > > to render itself with, so that we can get the > objects > > we are painting, figure out where they are > painted, > > etc. > > > > Thanks. > > -- > Gregor Schmid > Gregor.Schmid@?.de > Quality First Software GmbH > http://www.qfs.de > Tulpenstr. 41 Tel: > +49 8171 919870 > DE-82538 Geretsried Fax: > +49 8171 919876 > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com