Codice per simulare azioni dell'utente, come il login

3

Ho recentemente iniziato a lavorare su un'applicazione PHP, sostituendo un altro sviluppatore. Credevo che l'applicazione usasse un'API per comunicare con un servizio remoto, ma quando ho guardato attraverso il codice ho scoperto che stava usando un set di funzioni per accedere, compilare moduli e inviarli come un utente potrebbe fare in un browser .

La mia intenzione è di sostituire questo codice, per usare invece l'API dei servizi. Ho pensato di lasciare il codice così com'è e non di sostituirlo. Mi chiedo se questa sia una pratica comune nel settore del software? Per fare in modo che un programma simuli un'azione dell'utente in un browser per eseguire una serie di azioni? Mi sembra che questa sia una programmazione intelligente ma povera, qualche altro sviluppatore ha visto questo?

Modifica: Spiacenti, avrei dovuto aggiungere questo in primo luogo, il codice che descrivo non fa parte di una suite di test, il suo codice live.

    
posta Gortron 17.01.2011 - 23:58
fonte

3 risposte

0

Anche se molti potrebbero considerare questo come una cattiva idea per implementare tali pratiche, ci potrebbe essere stata una ragione legittima per fare questo genere di cose.

Come sviluppatori, molti di noi amano perfezionare il nostro codice per ridurre al minimo il nostro debito tecnico; tuttavia, alla fine della giornata, l'unica cosa che dobbiamo ricordare è che siamo assunti per raggiungere un obiettivo aziendale. A volte raggiungere questi obiettivi comporta una certa creatività, pensare fuori dagli schemi e fare cose che sarebbero considerate fuori dall'ordinario e contrarie a ciò che le regole / linee guida dicono di fare.

Se si volesse risolvere il problema, non vedo perché non si potesse, ma non avrei bocciato lo sviluppatore originale perché questa tattica - quando è stata implementata - avrebbe potuto significare la differenza tra salvare un cliente e perdere un cliente.

    
risposta data 18.01.2011 - 01:57
fonte
3

No

Questa è la pratica standard non . Se utilizza un'API, qualsiasi attività automatica dovrebbe utilizzare la stessa API senza ricorrere alla manipolazione del browser per farlo.

La manipolazione dell'interfaccia utente automatizzata può essere eseguita con molti diversi strumenti .

Preferisco usare Selenium .

Il selenio può essere usato per più di un test, anche se questo è ciò per cui è stato progettato. Se vuoi seguire questa strada

    
risposta data 18.01.2011 - 00:06
fonte
1

Aspetta, stai parlando di una specie di suite di test? Se è così, questo è abbastanza comune, anche se nella terra delle app web è probabilmente più comune usare un prodotto come Selenium per simulare l'interazione dell'utente con la tua pagina anziché effettuare chiamate di servizio derisorie indipendenti dall'interfaccia.

Se questo non è il caso, puoi chiarire cosa sta effettivamente accadendo?

    
risposta data 18.01.2011 - 00:06
fonte

Leggi altre domande sui tag