PDA

View Full Version : [Java] Interagire con finestre di programmi esterni



innaig86
20th May 2011, 15:35
Come da titolo, mi servirebbe interagire con le finestre di un programma esterno, in termini di:
1) lettura di testo all'interno delle finestre (label, testo dei pulsanti, ecc...)
2) inserimento di testo all'interno dei campi testo delle finestre + creazione di shortcut da tastiera + click sui pulsanti, tutto automatizzato.

Il punto 2 sembra risolvibile con la classe Robot, a patto di riuscire ad individuare i campi testo all'interno delle varie finestre.

Per quanto riguarda il punto 1 non riesco a trovare niente.

So che esistono script AHK che fanno sta roba, ma lo fanno a livello bassissimo (leggendo i colori dei pixel in date zone delle finestre per ricavarne il testo)...possibile che non esista qualcosa a livello più alto?

Amiag
20th May 2011, 17:10
non credo proprio sia fattibile da java liscio... forse con qualche libreria JNI che si attacca a quelle di windows vedi se ce ne sono

Hador
20th May 2011, 17:37
per la modica cifra di 2k o qualcosa euro puoi usare rational functional tester. Comunque tutti i tool di capture&replay, guarda jackareto e googla un po'. Dipende dal tipo di applicazioni, quelle java sono comode perchè interpreti la jvm, quelle web il browser, le altre non so se ci sono tool opensource che permettano di interagirci. Lo stesso RFT non so dove arrivi su applicazioni win, mo sto su linux poi ci guardo (anzi, googla :_D)

innaig86
20th May 2011, 21:59
Googlando mi sembra di capire che mi serve un framework java di gui testing.

In realtà la cosa più vicina ai miei bisogni sembra AutoIt, che però è un linguaggio di scripting a parte.

Hador
23rd May 2011, 10:00
io ci ho fatto la tesi su sta roba, buon divertimento :sneer:

Eltarion
23rd May 2011, 11:09
da c++ puoi prendere gli handle delle finestre e quindi leggere all'interno dei campi