×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Automatic Functional Testing for Mac and Linux?

Cliff posted more than 11 years ago | from the true-software-testing-suites dept.

Programming 202

testYourGUIS asks: "I work with a company that tests consumer and business software for various venues. One of the programs we rely on heavily is called Rational Visual Test, which is a VB-like compiled programming language that works directly with Windows API to simulate mouse clicks, text entry, menu pulldowns, and so on. We use them to stress-test various applications, collect the results, and then send the vendors a spreadsheet showing what we found. Recently, pressure has started to produce the same results on Mac OS X and possibly Linux applications. I was wondering if anyone knew of such software that works on Mac OS X, and how to go about doing this for Linux?"

"For example, a vendor has a database interface, and wants to know how many times we can access a series of records, what the results show (are the right, blank, time out?), and how long it took for the search to take place during various times of the day, and so on. So we emulate one of their data entry people by logging onto the system, putting in some search parameter from a script, and then record what the text (or error message) was when it came back. Yes, we could connect directly to the SQL database without their front end, but it's the combination of their front end and the database we usually test. We have found many examples where were can connect raw, for instance, but the front end displays a timeout. We also test things like 'What happens if the user enters a colon or asterisk?' or 'What if the text entered in the box is over 256k?' Then we tell the vendor the results, and they hopefully fix them based on the data we gave them."

cancel ×
This is a preview of your comment

No Comment Title Entered

Anonymous Coward 1 minute ago

No Comment Entered

202 comments

suck me off while i watch Friends (-1, Troll)

Anonymous Coward | more than 11 years ago | (#3953667)

ooh yeah

eff pee

Functional testing... for Fag-intoshes??? (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#3953829)

Maybe the Macintosh *computer* is good, or not. But it is pretty plain that the Fag-intosh lemmings, in thrall to the Steve Jobs reality distortion field, AIN''T!

Is there anything more pathetic than watching a Mac-droid desperately trying to get some, ANYONE, to take him/her/it seriously?

The answer is "no".

In case it gets slashdotted (-1, Redundant)

Kyeo (577916) | more than 11 years ago | (#3953676)

Automatic Functional Testing for Mac and Linux? Posted by Cliff on 2002.07.25 15:27 from the true-software-testing-suites dept. testYourGUIS asks: "I work with a company that tests consumer and business software for various venues. One of the programs we rely on heavily is called Rational Visual Test, which is a VB-like compiled programming language that works directly with Windows API to simulate mouse clicks, text entry, menu pulldowns, and so on. We use them to stress-test various applications, collect the results, and then send the vendors a spreadsheet showing what we found. Recently, pressure has started to produce the same results on Mac OS X and possibly Linux applications. I was wondering if anyone knew of such software that works on Mac OS X, and how to go about doing this for Linux?" "For example, a vendor has a database interface, and wants to know how many times we can access a series of records, what the results show (are the right, blank, time out?), and how long it took for the search to take place during various times of the day, and so on. So we emulate one of their data entry people by logging onto the system, putting in some search parameter from a script, and then record what the text (or error message) was when it came back. Yes, we could connect directly to the SQL database without their front end, but it's the combination of their front end and the database we usually test. We have found many examples where were can connect raw, for instance, but the front end displays a timeout. We also test things like 'What happens if the user enters a colon or asterisk?' or 'What if the text entered in the box is over 256k?' Then we tell the vendor the results, and they hopefully fix them based on the data we gave them."

Re:In case it gets slashdotted (5, Informative)

yorgo (595005) | more than 11 years ago | (#3953751)

Check out http://www.testingfaqs.org for a short list of possible contenders (GUI test drivers).

[Trolling Stones] say it with me... (-1, Troll)

Anonymous Coward | more than 11 years ago | (#3953677)

g to the oatse
c to the izzex
fo shizzle my nizzle I'm probably not gonna be able to post tomorrow because of this troll. so enjoy it you jerks!

AppleScript (3, Informative)

krog (25663) | more than 11 years ago | (#3953682)

you can do this with AppleScript, quite possibly the most underrated language of its kind.

Re:AppleScript (1, Informative)

chris613 (237882) | more than 11 years ago | (#3953871)

"underrated"? Applescript is cumbersome, painful, and WAY too unreliable to be used for verification testing. I've had serious trouble just getting applescript to run and then close certain stock applications. It's a broken mess, and I wouldn't recommend it to anyone, especially not for testing.

Re:AppleScript (0)

Anonymous Coward | more than 11 years ago | (#3953965)

I would have more faith in the notion that the stock applications were broken, more than I would the notion that Applescript was. Applescript has lived through every revision of the Mac. :)

Re:AppleScript (0)

Anonymous Coward | more than 11 years ago | (#3954087)

Applescript is cumbersome, painful, and WAY too unreliable to be used for verification testing
That hasn't been our experience. I wouldn't rely on Applescript for verfication testing simply because that's not what it was made for; however, it is a clean and easy to learn language that manages to be quite powerful. We rely heavily on it at my workplace and it hasn't let us down so far.

Re:AppleScript (2)

Ioldanach (88584) | more than 11 years ago | (#3953890)

Can applescript handle running 1000 concurrent users from a desktop machine simulating 1000 concurrent users hitting the server?

What he needs is a load test and functional test product similar to Rational's, but cross-platform. I'd suggest looking into Mercury Interactive's software, though I'm not sure just how cross-platform it is.

Re:AppleScript (2, Informative)

scrod (136965) | more than 11 years ago | (#3953891)

Actually no, that wouldn't do him any good. He would still have to implement the scripting commands in his program. He wants something to simulate the use of the actual interface, not call the underlying functions.

Re:AppleScript (0)

Anonymous Coward | more than 11 years ago | (#3953900)

AppleScript can simulate interface actions. rtfm.

Re:AppleScript (1)

scrod (136965) | more than 11 years ago | (#3954109)

Show me tfm, dipshit. They can only simulate interface actions with a scripting addition.

Re:AppleScript (2, Informative)

DLWormwood (154934) | more than 11 years ago | (#3953931)

This assumes that the application being tested is fully scriptable. This requires a factored application design and/or an object model to convert AppleScript commands into their corresponding events. Historically, Mac OS development tools don't automatically create apps with such a structure. And as another poster noted, the means to have AS work with non-scriptable apps requires the use of unreliable "osaxen" that make timing and reliablity metrics meaningless.

Re:AppleScript (1)

dozer (30790) | more than 11 years ago | (#3954179)

You can do this with AppleScript...

No, you can't. How does AppleScript "simulate mouse clicks, text entry, menu pulldowns?"

Answer: it doesn't. It calls the application directly, skipping the UI. Which is not so good if you want to do user interface testing.

Re:AppleScript (0)

Anonymous Coward | more than 11 years ago | (#3954209)

Nah, I stopped using it when they removed Turtle graphics.

testing tools (5, Informative)

Anonymous Coward | more than 11 years ago | (#3953696)

try OpenSTA. Its an open source automated testing application, similar to Rational's product.

www.opensta.org

There is a commercial company that provides support at www.opensta.com

Re:testing tools (1)

mmurphy_helix (594992) | more than 11 years ago | (#3954223)

I took a peek at this, and it appears OpenSTA is for Web-based testing, not GUI testing. Did I get that wrong?

For what it's worth... (1)

dispensa (57441) | more than 11 years ago | (#3953702)

AutoIT [hiddensoft.com] is cheaper

Re:For what it's worth... (0)

Anonymous Coward | more than 11 years ago | (#3953739)

I love that "Diablo 2 'Cheaters' Click Here" bit at the top of the page.

Re:For what it's worth... (1)

Izanagi (466436) | more than 11 years ago | (#3953998)

Don't tell the MPAA or RIAA about this software!! They will use it over P2P networks to delete our files automatically.

Simple (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#3953708)

You could use Microsoft Macro feature.

Not only could you test the application but format the hard drive and whatever you want.

inexpensive cross platform functional testing (0, Funny)

Anonymous Coward | more than 11 years ago | (#3953714)

umm... interns?

Hmm. (5, Informative)

dasmegabyte (267018) | more than 11 years ago | (#3953715)

Automatically uses the API to interact with the machine? Yeah, they've got this for Mac...it's called AppleScript and it's been around for roughly 20 years.

Don't be scared by the name "script"...there are visual tools for ascript and the language itself is so simple my mom could do it.

Re:Hmm. (-1)

zmalone (542264) | more than 11 years ago | (#3953763)

If by 20, you mean 10, yes.

Re:Hmm. (-1, Flamebait)

Anonymous Coward | more than 11 years ago | (#3953873)

You expect an apple user to be able to count above 5? They could count to 10, if they'd stop jerking off to Steve Jobs' picture long enough to look at their other 5 fingers.

Re:Hmm. (1)

RazorBlade99 (69657) | more than 11 years ago | (#3953767)

Don't they use Expect on top of TCL/TK for automated stuff in Unix for a long time now?

Re:Hmm. (1)

elmegil (12001) | more than 11 years ago | (#3953838)

That does more of putting a gui in front of non-gui elements that are normally interactive. Not the same as automating an existing gui.

Re:Hmm. (1)

great_flaming_foo (561939) | more than 11 years ago | (#3953877)

From what I head TCL works well if you are dealing with a CLI but I'm not sure if it will work on a GUI under X. Does any one know if it is possable to get a null X server to send scripted events to a client? That might work.

Re:Hmm. (1)

Quixotic Raindrop (443129) | more than 11 years ago | (#3953883)

Additionally, if you have access to the source of the basic front-end of the UI, it would be pretty easy to create a module that will feed events to the event loop. Stub out calls to RunApplicationEventLoop() or ReceiveNextEvent() and direct them to your module, which then generates a random (or, sequentially un-random, or pre-determined un-random) relevant event, and pass that event back to the event handler.

Seems plausible to me. Maybe I'm weird.

Nice way to reply! (-1, Troll)

Anonymous Coward | more than 11 years ago | (#3954014)

Be a little more polite ASSHOLE.

Slashdot math is at it again (2, Funny)

spacefrog (313816) | more than 11 years ago | (#3954037)

it's called AppleScript and it's been around for roughly 20 years.

Let's see here... 1993-2002 is roughly 20 years?

Has CowboyNeal been teaching you "new math"?

Here's a good automatic functional test (-1, Troll)

Anonymous Coward | more than 11 years ago | (#3953716)

What is the percentage of desktops that run each OS? The more functional an OS, the more desktops it has.

Re:Here's a good automatic functional test (2, Insightful)

dkh2 (29130) | more than 11 years ago | (#3953949)

"The more functional an OS, the more desktops it has."

Yeah, right. That paraphases exactly why we've used VHS for 20+ years instead of Beta. NOT! It is arguable that the Apple was a superior computing platform to the IBM PC of its day. The IBM-PC had the full corporate power and marketing strength of, well, IBM behind it while the Apple had the comparatively limited resources of two guys named Steve.

For the uninformed... Back in the days when the VCR was just being released on the world there were two competing formats, JVC's VHS format (which we all know) and Sony's Beta (a.k.a BetaMax). The latter was far superior but, alas, was first out marketed (a bit of history [urbanlegends.com] ), then out litigated (Read case story [hrrc.org] ). To date the majority of video production houses still use Beta because of it's superior image and audio quality.

VHS Beta (1)

nattt (568106) | more than 11 years ago | (#3954055)

Video production companies, broadcasters etc use BetaCam, BetaCamSP, DigitalBetaCam, BetaCamSX etc. They are only related to BetaMax in 3 ways:
1) They're made by Sony 2) They can use the same size cassette shell 3) They have Beta in their name

They are all professional formats and are not the same as BetaMax, BetaMax II and EDBeta of old....

XRunner (5, Informative)

micantos (252195) | more than 11 years ago | (#3953717)

Check this [mercuryinteractive.com] out for some pretty reasonable X-windows testing. Heard quite a few positive things about it.

Re:XRunner (0)

Anonymous Coward | more than 11 years ago | (#3953841)

I've used the mercury interactive test suite and it's quite likable. I highly recommend it. It's got a nice c-ish test script language.

Re:XRunner (1, Informative)

Anonymous Coward | more than 11 years ago | (#3953964)

We currently use Winrunner, The win32 equivalent of XRunner by Mercury Interactive. We've had lots if problems with this product, It's very buggy for what my standard of a automated test suite should be (hmmm a Automated test suite that actually has ben TESTED?). Constant restarts, variables changing values and so on are day to day recurrences. The support from MI is extremely poor, generally taking days to weeks to get any issue resolved. XRunner might be a bit more stable, but given its high price tag and the poor quality of this product I'd definitely advise anyone to stay away from this.

Hire a monkey (0, Offtopic)

Anonymous Coward | more than 11 years ago | (#3953720)

Just issue random click and random key stroke ....

Couldn't you use PERL? to do a lot? (1, Insightful)

Soggy_Cornflake (303767) | more than 11 years ago | (#3953724)

I've worked with Rational Visual Test(or Irrational Test as we often refer to it.) With both you can call commands from different programs. I have't tried doing similar tasks in PERL, but mostly because I have not immersed myself in PERL.

Java... sort of (4, Insightful)

d3xt3r (527989) | more than 11 years ago | (#3953728)

Are these applications you need to demo like this, Java Swing apps? If so, you can use built-in javax APIs to do this. You could simulate user actions this way, mouse movements, etc as a "demo" mode for the user.

Obviously this would work on Linux, OS X, and Windows as well.

Hope this helps.

Robot and BeanShell (2, Interesting)

Joseph Vigneau (514) | more than 11 years ago | (#3954008)

I'm assuming you're talking about java.awt.Robot [sun.com] . This, with BeanShell [beanshell.org] would allow test scripts for GUIs to be built.. A more sophisticated system would be able to capture AWT events, and store them in a file for later playback...

Re:Java... sort of (1, Funny)

Anonymous Coward | more than 11 years ago | (#3954010)

using java.awt.Robot, it's quite simple.
to quote the documentation:
This class is used to
generate native system input events for the purposes of test automation, self-running demos, and other applications where control of the mouse and keyboard is needed. The primary purpose of Robot is to facilitate automated testing of Java platform implementations.
I've used it to make remote control apps that work in windows and linux: take a screenshot of desktop A, send it to B. Send mouse events from B to A. Freak out user on machine A. :-)

Quite simple, and easy to do in Mac OS as well!

You Could Use... (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#3953732)

a MILLION MONKEYS!!!!

Legos! (5, Funny)

djtack (545324) | more than 11 years ago | (#3953755)

I've got it... you need Lego Mindstorms. [lego.com] Just build some robotics to push the mouse around, whack random keys, etc. Best of all, such a system would be fully platform-independant. I bet Microsoft is already doing this, only they call it "genetic programming".

All you need is a cat (2, Funny)

hipnotik (548722) | more than 11 years ago | (#3953902)

Let a cat in the room and pretend you are doing some serious work.

Re:All you need is a cat (2)

b1t r0t (216468) | more than 11 years ago | (#3953972)

So what do you do when Accounting asks you about all those purchase orders for catnip?

Re:Legos! (0)

Anonymous Coward | more than 11 years ago | (#3953908)

Yeah, and upload a "battlebot" proggie into it.

We're working on one... (3, Informative)

matticus (93537) | more than 11 years ago | (#3953761)

Actually, the company I am currently employed by is in the process of writing a system/gui test environment for this very purpose. One caveat-it's only for Java, but when we complete it (very soon), we will release it to the public. our address is www.atomicobject.com [atomicobject.com] .
The name of the project will be HASTE, look for it in a month or two.

Re:We're working on one... (0)

Anonymous Coward | more than 11 years ago | (#3953858)

how exactly do you send mouse clicks and keystrokes from java into a windows or X11 application ?

Re:We're working on one... (2, Informative)

spicysquid (595122) | more than 11 years ago | (#3953910)

you can get system.out stream and write out the character sequences to that byte if it is a terminal/telnet program. For swing programs, you can just fire off actionevents to take care of the items.

XTest and Expect ? (4, Informative)

too_bad (595984) | more than 11 years ago | (#3953764)

Isnt this what XTest [handhelds.org] and
Expect [nist.gov] allows us to do on Linux
(and a vareity of other operating systems) ?

Re:XTest and Expect ? (2, Informative)

Vee Schade (6806) | more than 11 years ago | (#3953970)

XTest must be compiled into X as an extension and appears only to allow "fake key presses" which will probably not be very useful in this context. Expect allows for "automating interactive processes" (and is VERY good at it - IMHO), where such processes are CLI-driven (e.g. telnet, ftp, etc.), and so is also not useful in this context.

Automatic Functional Testing for Mac and Linux? (2, Insightful)

jay_in_pa (595334) | more than 11 years ago | (#3953768)

You might be able to use Rational Visual Test with a windows based X-server to control Linux (or any Unix) apps.

zerg (-1, Flamebait)

Lord Omlette (124579) | more than 11 years ago | (#3953780)

You can tell he doesn't give a shit about Linux, he just threw it in there so as to get on the front page instead of on the side.

www.gnu.org (0)

Anonymous Coward | more than 11 years ago | (#3953786)

They can stress all the bugs out a program in no time :)

There are 2 ways to do it... (0)

Anonymous Coward | more than 11 years ago | (#3953790)

One way (the simpler way) is just write a program using the xtest extension to send keyboard/mouse events to said applications...

But another way (and more affective way) is to use XGGI and force it to use your own data streams for you input and then you don't even have to really display you output to a video card, you can just keep it in memory :), This way you can do REAL test without some of the speed overhead that the video cards induce :)

- r0gu3

DOS4GW (0, Offtopic)

qurob (543434) | more than 11 years ago | (#3953797)


Remember when Rational made that?

Opened up a whole world beyond 16 bit DOS apps.

Behold the power of Watcom C!

CPAs (0)

Anonymous Coward | more than 11 years ago | (#3953821)

Here we lock the accountants in a room with one bottle of Orangade and a bag of Fritto's, and tell them the only way out is by finding the hidden "key" in the app. Then we video tape them, and if the results are not good for the client, we can always send the tape to Fox for "when stupid white-collars go bad"

Automatic Mouse Movement (0, Offtopic)

Nukenbar2 (591848) | more than 11 years ago | (#3953825)

Don't off topic me too quickly. It is slightly relevant. Remember back in 1999 and 2000 when companies would pay you to surf the web with on of their ad windows at the bottom? Well a friend of mine and I wrote a little Visual Basic program that would randomly move the mouse to some point on the screen and click. It had a random time movement from anywhere from 20-80 seconds and we restricted where it would move so that it would not hit the start menu and accidentally log you out! I worked great and each of us made a few hundred bucks over a few months using it on a few different computers with different accounts. My friend finally got caught on one of them so we decided to quit, but it sure was an easy way to make some cash.

Re:Automatic Mouse Movement (1)

bmwm3nut (556681) | more than 11 years ago | (#3953943)

heh, i remember that. i also wrote a program to do that. brings back memories of screwing off in college.

Re:Automatic Mouse Movement (1)

netsharc (195805) | more than 11 years ago | (#3953987)

Those were the dot.com days... when things started going down the drain, they changed things so you could make $20 when you surf, 2 hours per day for 5 years.. how exciting.

a little offtopic, but.... (1, Flamebait)

jeffy124 (453342) | more than 11 years ago | (#3953833)

I think there's more to that story. A company hired to test program written for Mac OSX and Linux, not just Windows. Anyone else catch what I'm getting at?

Re:a little offtopic, but.... (0)

Anonymous Coward | more than 11 years ago | (#3953989)

The effect of .Nyet?

It's called freshmeat and google. (1)

iamwoodyjones (562550) | more than 11 years ago | (#3953834)

Why don't these people just do a search on freshmeat and google like the rest of us? You'll undoubtable just hear from the other slashdotters who just got down googling and freshmeating (he he he) for their results.

Okay there's an offchance that another slashdotter might be working on an esotric project like he is and happens to have a viable solution. Highly unlikely. Or perhpas slashdot just wants to bring this to our attention. Don't know why though? Or mabey IT'S SHAMLESS ADVERTISEMENT PLUGGING yet again =P

Go ahead and give me your worst repliers.

Re:It's called freshmeat and google. (1)

nvainio (135908) | more than 11 years ago | (#3953893)

Sure, Google gives you software but Slashdot could give also opinions, experiences and ideas. (Sometimes it actually does.)

Re:It's called freshmeat and google. (0)

Anonymous Coward | more than 11 years ago | (#3953973)

Unfortuanetly those ideas, opinions, and experiences mostly consist of posts containg:

Stephen King is dead posts

goatse links

poop bot posts

a dozen first posts

oh and of course posts that point out OBVIOUS things... Much like yours!

Rational preVue-X (1)

Amigan (25469) | more than 11 years ago | (#3953837)

Since you're already a Rational customer, I would check into Rational preVue [rational.com] . Many years ago it had another name - and was a product from a company that Rational bought...

xnee (3, Interesting)

tompa (102471) | more than 11 years ago | (#3953840)

Don't know about OS X, but here is an excellent GPL'ed event recorder/playback app for X Windows: xnee.sourceforge.net [sourceforge.net]

you could always port it to OS X ... :-)

/tc

MetaCard (0)

Anonymous Coward | more than 11 years ago | (#3953853)

I was on a UNIX project almost 10 years ago that used MetaCard [metacard.com] to do this kind of thing. Haven't used it myself and I think it is limited to simulating a user running a GUI (and for creating demos, etc.), but it is cross-platform...

Check out Test Quest Pro (3, Informative)

Jay (1991) | more than 11 years ago | (#3953865)

It's a PC you can use to drive keyboard / mouse input into another system. It comes with a video capture card to read the output and make decisions about whether the test was successful or not.

It's fully scriptable using a c-ish syntax, and comes with a nice IDE and runtime environment to get the work done. It seems like it may be a nice match for what you want to do.

Here [testquest.com] is more info.

easy API testing - (0)

Anonymous Coward | more than 11 years ago | (#3953881)

we call it "Beta" testing...

Re:easy API testing - (0)

Anonymous Coward | more than 11 years ago | (#3953975)

There aught to be a new category. "Anonymous Idiot". If you have no idea WTF you're talking about then shut the hell up and listen instead.

testing (0)

Anonymous Coward | more than 11 years ago | (#3953895)

We use a product called Test Quest.
http://www.testquest.com
It is hardware based, so it may be less dependent on OS.
I believe it was $50,000 but not positive.
We are just starting to use it and have found it to work quite well and also work over our KVM but a clean signal is needed over KVM's.

Expect (2)

Prof_Dagoski (142697) | more than 11 years ago | (#3953907)

Here's a website that talks about the language: http://expect.nist.gov/. I bet there's other sites so check google. O'Reiley also has a book about it. I still think I'd use Applescript under MacOS, but under Linux I'd give expect a try. I played with it a little under Solaris and it looked pretty useful. I was able to automate the setup for US Robotics modem racks and Cabletron ethernet hubs using expect. Never did get that stuff totally debugged and my script would go crazy, but that's not the language's fault.

Re:Expect (0)

Anonymous Coward | more than 11 years ago | (#3953979)

From the faq at http://expect.nist.gov/FAQ.html#q23 :

Expect cannot automate automate arbitrary X-based apps.

Re:Expect (2)

mikeee (137160) | more than 11 years ago | (#3954021)

Well, all you need to do is run X over aalib and you can automate it with expect just fine... :)

here's some free advice (-1, Troll)

Anonymous Coward | more than 11 years ago | (#3953924)

allow me to shove my penis in your ear.
  • It's cross-platform (works with both guys and girls)
  • Easy to compile (just lick my dick fro a few minutes)
  • No messy cleanup (for me anyway, the spooge will be in your ear)

Think about it won't you? thanks!

Re:here's some free advice (0)

Anonymous Coward | more than 11 years ago | (#3954050)

your dick is that small?

Here's an idea (0)

xchino (591175) | more than 11 years ago | (#3953938)

If you're already using winblows, to test X apps, just VNC to the application you want, and then run the stress test on the VNC session. All mouse clicks and keypresses will be performed on the remote computer. That way you can use the same program across platforms, instead of figuring out a seperate application for each OS you test.
You can also reverse this process if you'd rather use your linux box to test winblows.

For Mac OS X... (2)

Chops-Frozen-Water (2085) | more than 11 years ago | (#3953961)

You could probably roll your own rather quickly with the CGRemoteOperation API: /System/Library/Frameworks/ApplicationServices.fra mework/Frameworks/CoreGraphics.framework/Headers/C GRemoteOperation.h

F-Script (3, Informative)

Tomy (34647) | more than 11 years ago | (#3953963)

For Mac OS X have a look at F-Script. [fscript.org] You can inspect a running program and call any method in that program and any method on any object in the Objective-C runtime. This should allow you to generate events or enter text in text fields, etc.

Of course this will only work for programs developed using Cocoa. Can't help you with Carbon apps. You might be able to write something using the Apple Event manager.

Last time I had to do this for Linux (and Gtk+) I had to roll my own.

xmacro (1)

Garion911 (10618) | more than 11 years ago | (#3954009)

A while back I found an app called xmacro. Just a simple app to send mouse clicks and such. If you can't find a package to do what you want, you might be able to roll your own from it.

Xmacro [sourceforge.net]

Brits and their teeth (-1)

CreamOfWheat (593775) | more than 11 years ago | (#3954013)

Can someone please tell me why most Brits have yellowish/black rotten teeth? It is really disgusting. Even wealthy parasites like the queen and the royal family have disgusting filthy teeth. Thank you for your replies.

Funny (3, Interesting)

psocccer (105399) | more than 11 years ago | (#3954038)

I just posted a set of tools for automating X at my website [hoopajoo.net] that I recently created to make a bot that could play Yahoo! Spelldown. There are 2 parts to the tools, finding things on screen using a "visual grep" program that finds images inside of images, and xte, an app built on the XTest extension that allows scripting of moving the mouse, clicking, dragging, keypresses, etc. Together you can use them to make scripts that can identify buttons on screen or letter or words or numbers, whatever, and interact with programs. Still a pre-1.0 version, but it does everything listed above so far.

BTW, don't use xse, which is a wrapper for XSendEvent, if you roll your own. There are so many places where it just doesn't work, or doesn't work right, because the XSendEvent function just doesn't work reliably. I lost a lot of sleep over that before I gave up and just wrote xte.

QuicKeys X (1)

ktlyst (517231) | more than 11 years ago | (#3954054)

for mouse events, you can try QuicKeys X [cesoft.com] from CE Software for Mac OS X, anyway. It can enter text, too, and launch applescripts.

I'll do it! (1)

robolemon (575275) | more than 11 years ago | (#3954063)

For the right amount of payment I've got a couple of friends who'd love to bang on the mouse all day! I tend to prefer the keyboard myself, so I'll do the typing. Best of all, we're entirely cross-platform (among platforms can handle physical input, that is).

Finally, I've discovered a use for this strange box on my desk.

Rational Software and Linux don't mix (2, Interesting)

tuxlove (316502) | more than 11 years ago | (#3954081)

Over the years I've asked Rational salespeople if they plan on porting some of their more popular debugging tools to Linux, such as Purify, Pure Coverage, Quantify, etc. The earliest responses to the question were, "What's Linux?" In later years, the response has simply been "No". I do not understand why, but it has been a major sticking point for me. More and more, people are developing software for Linux, and it's hard to understand why companies like Rational won't embrace it.

I'll tell you, it's a major hassle to develop a product for Linux while being forced to debug it on Solaris because that's the only place our debug tools will run. The first company to make decent Linux tools that are similar to Rational's will have my business. And Rational won't.

Applescript, QuicKeys for Mac OS X and OSA (5, Informative)

plsuh (129598) | more than 11 years ago | (#3954125)

AppleScript [apple.com] is great, but the app that you are testing must be scriptable. Many are today, but some are not. Furthermore, in this situation you want to test the GUI, not just the underlying object model which is what AppleScript talks to.

However, AppleScript is not the only scripting environment for the Mac. Underlying all of the native scripting languages on the Mac is something called the Open Scripting Architecture [apple.com] . This allows any OSA component (i.e. scripting language) to talk to any other OSA component.

One OSA component is QuicKeys [quickeys.com] , a great product that actually does simulate mouse clicks, keystrokes, etc., and is completely scriptable. It integrates completely with AppleScript and via the power of the OSA, with shell scripts and Perl as well.

On top of this, Apple provides a powerful GUI building tool for AppleScript called AppleScript Studio [apple.com] , which is free. Plus, AppleScripts can talk across a network to do RPC. Imagine, you can have an AppleScript Studio front end that drives scripts on a set of machines over the network (so that you can assess performance under load). The individual scripts rely on AppleScript to drive the logic while using QuicKeys sequences to drive the GUI.

The only issue here is how easily you can assess results. There's no general way to check what the GUI is showing other than a pair of Mark I mod 0 eyeballs, since grabbing data out of the app being tested (even simulating a copy-paste) only talks to the underlying data structures and does not address GUI bugs. A possible way is to arrange the windows in a known manner, turn off the menu bar clock, take a screen shot, and use a graphical comparison tool to XOR the bitmap with a known good screen shot to highlight differences, but this won't work if you're working with variable or randomly generated data.

Disclaimer: I work for Apple, but these are my opinions only and do not represent any sort of official endorsement.

--Paul

Cross Platform Automated Testing (1)

jordandeamattson (261036) | more than 11 years ago | (#3954185)

If you want a cross-platform automated testing tool that is:

1. Localizable

2. Non-Intrusive (tests the environment on which the user runs).

Then check out TestQuest [testquest.com] .

While a bit pricey - consider it a capital expense - this system is fantastic. It was originally developed for testing medical devices and systems, where the FDA requires that what you test is what you ship exactly .

VNC (0)

Anonymous Coward | more than 11 years ago | (#3954207)

AFAIK, you can use a VNC X server with a custom "automated" VNC viewer to test any and all X apps.

-JAB
Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Sign up for Slashdot Newsletters
Create a Slashdot Account

Loading...