Domanda

sto cercando informazioni [Esito a dedurre "Best Practices"] per l'automazione di applicazioni. Sono in particolare riferimento alla sostituzione di ciò che è prevedibile ripetibile attraverso i mezzi tradizionali manuali [esseri umani manipolare la GUI] con qualcosa che è prevista dall'Utente ed eseguito "automaticamente".

Usiamo AutoIt internamente per l'esecuzione di test automatizzato e abbiamo considerato lo stesso approccio per la fornitura di lavorazione automatica delle nostre applicazioni, ma siamo riluttanti a causa della possibilità degli utenti "accidentalmente" interagendo con l'applicazione in parallelo con l'esecuzione di un "automazione" pianificata e quindi "rompere" dell'automazione.

Shy di costruzione nel nostro proprio scheduler di eventi noti e argomenti fissi per il controllo di una serie predefinita di azioni, quello che si avvicina dovrei valutare / considerare e quali strumenti sarebbero richiesti?

Informazioni aggiuntive: Alcuni potrebbero fare riferimento a questa capacità come "Elaborazione batch" nel contesto dell'applicazione.

È stato utile?

Soluzione

In generale è una pratica pericolosa per automatizzare interfacce utente. Può essere utile un hack per un problema a breve termine: mi trovo con AutoHotKey per eseguire alcune operazioni ripetitive in alcune situazioni ... ma solo se il compito non è degno di scrivere codice per implementare la modifica (ad esempio, una sola volta, 15 minuti compito).

In caso contrario, è probabile che soffrono di piste incoerenti a causa di risposta lag di alcuni schermi, incoerente interfacce utente, ecc La maggior parte delle applicazioni hanno un'API a disposizione, e non lo si utilizza sta per essere molto più doloroso di acquisizione e di utilizzarlo in 99 % dei casi.

Nel malaugurato ma possibile situazione che non v'è alcuna interfaccia utente e si sono ridotti a screen scraping / manipolazione, uno strumento che esegue il test automatizzato è probabilmente buono come si ottengono. Esso consente di verificare lo stato delle app (in una certa misura) e quindi può costruire alcune reti di sicurezza in. Inoltre, vorrei dedicare una stazione di lavoro a questo compito ... con la tastiera e il mouse bloccati lontano da utenti curiosi. (Un desktop remoto o connessione stile VNC funziona bene per questo:. Si può dare il via al processo e staccare, che lo rende resistente alle manomissioni)

Tuttavia, vorrei prendere in considerazione questo approccio solo come ultima risorsa disperata. Manipolazione di un'API è molto, molto, molto, molto (ho ottenuto abbastanza "Fars" lì dentro?) Più sostenibile.

Altri suggerimenti

Se ho capito bene, si vuole fare automatizzato di elaborazione utilizzando qualche strumento che eseguirà un elenco predefinito di azioni in un dato sistema software. Questo essendo diverso da automatizzato testing .

Vi invito ad evitare l'uso di strumenti destinati per il test per eseguire l'elaborazione. Molti sistemi software importanti hanno API pubbliche che è possibile utilizzare per eseguire azioni senza l'interazione dell'utente diretta. Questo è un modo molto più robusto e affidabile per pianificare processi automatizzati. Contattare il fornitore del software che si sta lavorando, a volte le API sono disponibili su richiesta.

Godeke e Dave sono assolutamente corretto che, se disponibile, l'API è il percorso migliore. Tuttavia, in pratica questo a volte non è possibile, e si deve andare via automazione GUI. Oltre alla stazione di lavoro dedicata menzionato in precedenza (s) per eseguire l'automazione, vi consiglio di codifica in alcuni audit trail, in modo che sia più facile per eseguire il debug o marcia indietro in caso di problemi. Il batch di automazione di elaborazione dovrebbe tenere un registro dettagliato di ciò che i record sono stati elaborati, quando sono stati elaborati e come sono stati elaborati. Si dovrebbe impostarlo in modo che i record stessi (nell'applicazione nativa) rifletteranno che è stato aggiornato / elaborati tramite l'automazione. Per esempio, se ogni record ha un aggiornabile campo note / commenti, l'automazione deve aggiungere del testo a questo campo come "Processed dall'utente automazione, 2009-02-25 10:05:11, campo Account cambiato da 'ABC123' a ' DEF456' " in questo modo, le mod automatizzati sarà facilmente evidente a un utente tirare manualmente il record della GUI.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top