2009-09-29 11 views
6

Ci sono strumenti là fuori che usano Image Recognition (ricerca, confronto, validazione di immagini) come base per l'automazione e il test del software della GUI. So che lo supporta il ranorex. Ci sono strumenti migliori? Ci sono dei trucchi nell'utilizzo di Image Recognition per guidare l'automazione dei test?Riconoscimento di immagine per l'automazione di test drive

+1

Sembra orribile. –

+2

Gotcha ovvio - discrepanze tra le impostazioni della macchina dell'agente. Se si crea un test con risoluzione 1280, ma si riproduce a 1150, si verificheranno dei problemi. In genere, è meglio guidare l'automazione a livello di oggetto della GUI o a livello di API. La mia esperienza è che l'utilizzo del riconoscimento dell'immagine per l'automazione del test di guida dovrebbe essere utilizzato solo come ultima risorsa. –

risposta

0

grazie per il tuo commento! Si prega di dare un'occhiata a RoutineBot - software di test dell'interfaccia basato su determinati pattern di immagine e vedere di persona come questa idea è implementata in uno strumento di automazione !

+1

Dalle FAQ di RoutineBot: "Se si utilizzano i pattern di immagine di script e l'aspetto originale di alcuni pulsanti, nell'applicazione testata cambiata, lo script non verrà eseguito correttamente, quindi, quando si progettano gli script si ha in mente questa possibilità Esistono alcune soluzioni possibili a questo problema: è possibile utilizzare il comando ClickButton, che utilizza il testo del sottotitolo del pulsante (non la sua immagine). Un'altra soluzione è l'utilizzo di picchietti di immagine più piccoli, in questo caso ci sono meno possibilità di modificare il modello. " - Come ho detto, il riconoscimento delle immagini dovrebbe essere considerato come ultima risorsa. –

1

Vorrei anche scoraggiare l'utilizzo di Image Recognition con SendKeys e fare clic su Coordinates o (Immagini pulsante) per eseguire test dell'interfaccia utente. Recentemente ho utilizzato UI Automation per automatizzare il testing di un'applicazione WPF con successo. Inserendo piccoli breadcrumb (Automation.AutomationID = "OkButton") nell'intero XAML dell'applicazione, sono stato in grado di scrivere alcuni test dell'unità C# che esercitano aspetti diversi dell'applicazione. Anche senza breadcrumb, UI Automation è ancora in grado di eseguire un'applicazione, ma è leggermente più difficile quando si tenta di identificare i controlli sull'interfaccia utente.

Un articolo decente su Code Project è disponibile come punto di partenza.

http://www.codeproject.com/KB/WPF/UIAutomation.aspx

Avrete anche bisogno di UI Spy, uno strumento gratuito di Microsoft, che consente di trovare i controlli e di esercitare manualmente i comandi attraverso UI Automation come guida per la scrittura degli script. Lo strumento è nascosto nell'SDK di Windows Vista, dopo la ricerca dell'installazione di UISpy.exe. Lo strumento UI Spy può ancora funzionare su una macchina Windows XP copiando semplicemente l'EXE sul computer di destinazione.

0

Sono d'accordo con RodKnee e Tom E. L'utilizzo del riconoscimento dell'immagine per il test dell'interfaccia utente è a dir poco estremamente doloroso e una perdita di tempo. Se la tua applicazione è costruita correttamente puoi spingere la logica dell'interfaccia utente in un altro livello dell'applicazione che è più facilmente testato.

Il MVP pattern è stato creato proprio per questo scopo. Ogni operazione che può essere eseguita tramite l'interfaccia utente è rappresentata da qualche parte nella vista. In questo modo, è possibile rimuovere completamente l'interfaccia utente e continuare a testare l'applicazione utilizzando l'architettura rimanente (M-V-C).

Il pensiero del riconoscimento dell'immagine per realizzare questo genere di cose mi fa rabbrividire.

0

Considerare AutoItScript per il controllo di interfacce grafiche basate su Windows in scenari di test - E raschiare via l'interfaccia utente. Considera il riconoscimento ottico dei caratteri open source di tesseract. Anche OpenCV per visione artificiale.

AutoItScript gratuito funziona a livello di API in quanto è possibile leggere gli stati di varie sezioni Widget e Windows, inviare azioni a questi componenti dell'interfaccia utente, attendere cambiamenti di stato ecc. È possibile produrre codice di automazione estremamente robusto che garantirà la messa a fuoco su Windows e indipendenza dalla risoluzione.

3

Ok, prima di tutto, ho capito le risposte precedenti: testare le app utilizzando il riconoscimento delle immagini non è il modo migliore per testare le GUI. Ma, allo stesso tempo, non capisco perché non stai rispondendo alla domanda in primo luogo. Sta chiedendo strumenti che funzionino in quel modo, penso che sia abbastanza intelligente da capire dove sta andando.

Ok, ora il soggetto principale, la mia scelta sarebbe include:

  • Sikuli, un progetto del MIT sotto la licenza MIT GNU-like. Usa Python su Jython. Gratuito.
  • TestPlant eggPlant, uno strumento che funziona tramite un server VNC, in modo da poter testare le app su qualsiasi piattaforma VNC compatibile (inclusi gli smartphone). Ha alcune caratteristiche interessanti come OCR, programma di test e così via. Usa SenseTalk. Non libero, puoi richiedere una prova.
  • Routine Bot, non l'ho mai usato ma sembra piuttosto utile.
0

Vecchia domanda, ma forse questa risposta può rivelarsi utile a qualcuno. Attualmente sto usando due prodotti,

Testing Anywhere, per l'automazione Anywhere (http://www.automationanywhere.com/Testing/)

e Quick Test Professional, da HP (http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957#.UhJBwpLW5-k)

Entrambi fare il lavoro abbastanza bene, e sia il supporto l'uso del riconoscimento dell'immagine. Non sono del tutto convinto che il riconoscimento delle immagini sia di per sé una cosa negativa. Come con tutte le cose, devi adattare il tuo approccio alle tue esigenze particolari e utilizzare lo strumento giusto per il lavoro.

0

Ho pensato di aggiungere un'altra voce a questa discussione. Le cose potrebbero essere cambiate, non è sicuro, ma quando ho visto per l'ultima volta la demo, questo prodotto ha offerto IDE/interfaccia/capacità simili a Sikuli pur essendo un prodotto commerciale e supportato dispositivi reali oltre al simulatore. Non so se lo strumento è migliorato per rilevare oggetti con identificatori oltre le immagini ora o meno.

SeeTest da http://experitest.com

1

me suggerimento un'altra soluzione Let.
Non è un framework di automazione dell'interfaccia utente completo, ma piuttosto uno strumento specifico solo per la convalida dell'immagine.
Essa vi permetterà di ignorare la parte instabile delle immagini, nonché (dati casuali, ecc)
Sarà integrarsi con qualsiasi altro framework di test dell'interfaccia utente che si sceglie: Selenio, Sikuli, ecc

http://visualci.com

Problemi correlati