Forum Overview :: Still Life
 
Re: (source) by Fullofkittens 07/06/2008, 9:48am PDT
Ray of Light wrote:

Does it have some way of identifying links I want to click that is simpler than what I have done here?
You can tab along and watch the statusbar until its link text reads what you want, press enter. Or F6 and have ahk type the new url (if you know it already). In non-web applications, you can use the Window Spy (comes with ahk) to get the buttonclass, then use ControlFocus/ControlClick to click by name.

You can use a FF extension (like Greasemonkey) to manipulate from the inside out: re-text an image link (using the image name to find it), and then use AHK to do a normal Find on your injected text. This does work on javascript links.

Or, you could use the name of the image to download it before each test, and use the downloaded copy for in-test comparison. You can use the same fetch-and-compare trick for nonweb apps that lack usable buttonclasses but store their elements in a regular way (e.g., every Java app with its nonnative UI, you can pull the element images from the jar-which-is-really-a-zip file).



All good suggestions. I'm going to play around with some of this on the application I'd be testing at my new org and see if I run into any special hurdles. Truthfully, I think that it will be a lot easier to automate than the AUT at my old job because it's better designed (and the use case is much, much shorter).

The tool I'm accustomed to has an Object Repository that lets you set up identifying characteristics for all the "test objects" you want to use, which is nice because visual elements are usually subject to change.
Without having used this (but having read about it on the web just now), I can tell you the limitations are universal. Either the test tool needs a way to peek behind the screen (as AHK and QTP do with buttonclasses, and maybe QTP can examine a browser's DOM somehow), or it identifies the element using a combination of things that are visible on the screen. The comments I read about OR said that it will fall back to crude measures like XY screen positions if it can't come up with a unique set of identifiers otherwise.

It can use x, y but I have that feature turned off because x,y is always wrong in my AUT. The app is all AJAX all the time and the developers are constantly fucking around with screen placement.

QTP really is the dad in object recognition, it has a different ordering of identifiers depending on the type of object it's identifying (e.g. hyperlinks default to the link text as the identifier with the link URL as a backup, dropdowns use the div ID with the "allItems" list as a backup and height/width behind that, and so on). Another nice feature is that if it establishes that there is more than one item on a screen that matches its descriptors it enables "ordinal identification" which is just like it sounds: there's 6 buttons called "Button" and I want to click the third one.

It also has regular expressions in the descriptors so you can wildcard out dynamic elements of names and such.

But all that stuff is probably why it costs so much in comparison to this free tool which can accomplish the same thing with a little more effort.
PREVIOUS NEXT REPLY QUOTE
 
Scripting of applications (on multiple platforms?) by Fullofkittens 07/03/2008, 7:32pm PDT NEW
    Re: Scripting of applications (on multiple platforms?) by Entropy Stew 07/03/2008, 10:08pm PDT NEW
    PYTHON! by motherfuckerfoodeater 07/03/2008, 10:54pm PDT NEW
        This is the major downside to python :( NT by Entropy Stew 07/04/2008, 10:42pm PDT NEW
    AutoHotKey $0 by Ray of Light 07/03/2008, 11:28pm PDT NEW
        and I just read the other replies by Ray of Light 07/03/2008, 11:44pm PDT NEW
            Perl has grown long in the tooth and Perl 6 is going to be more complicated than by Entropy Stew 07/04/2008, 12:46am PDT NEW
                All true and wouldn't fault anyone for choosing Ruby but by Ray of Light 07/04/2008, 2:23am PDT NEW
                    Shaking hands, doffing hat, etc. by Entropy Stew 07/04/2008, 4:03am PDT NEW
                        While you guys agree to disagree... by Fullofkittens 07/04/2008, 9:12pm PDT NEW
                            Use all three together NT by Job Security 07/04/2008, 9:32pm PDT NEW
                                I'm too stupid for that. NT by Fullofkittens 07/04/2008, 9:39pm PDT NEW
                            Tying it all together by Ray of Light 07/04/2008, 11:05pm PDT NEW
                                Test AutoHotKey message... by Fullofkittens 07/05/2008, 3:51pm PDT NEW
                                    (source) by Fullofkittens 07/05/2008, 4:02pm PDT NEW
                                        Well done Clint! NT by Clint Stalker 07/05/2008, 4:20pm PDT NEW
                                        A new forum spammer is born. >:( NT by Fussbett 07/05/2008, 7:42pm PDT NEW
                                            Did I mention that my new job is spamming messageboards? by Fullofkittens 07/05/2008, 9:40pm PDT NEW
                                                Source by motherfuckerfoodeater 07/05/2008, 10:14pm PDT NEW
                                        Re: (source) by Ray of Light 07/06/2008, 2:13am PDT NEW
                                            Re: (source) by Fullofkittens 07/06/2008, 9:48am PDT NEW
                                                fixed quote tags by Fullofkittens 07/06/2008, 9:50am PDT NEW
    Incidentally, I got this job and am quitting my current job tomorrow. by Fullofkittens 07/13/2008, 11:18am PDT NEW
        So you're just changing jobs. NT by Creexuls, a monster >:3 07/13/2008, 1:54pm PDT NEW
            Yes, I'm one of the employed Caltrops posters. NT by Fullofkittens 07/13/2008, 3:03pm PDT NEW
                I also am. ^_^ NT by Creexuls, a monster >:3 07/13/2008, 3:19pm PDT NEW
 
powered by pointy