Esiste un equivalente dello strumento * prevedono * di Don Libes per l'interazione di scripting con le pagine Web?

StackOverflow https://stackoverflow.com/questions/609177

Domanda

Ai vecchi tempi delle applicazioni della console interattiva, Don Libes ha creato uno strumento chiamato Expect , che ha abilitato scrivere script Tcl che interagiscono con queste applicazioni, proprio come farebbe un utente. Aspettatevi ha avuto due enormi vantaggi:

  • È stato possibile scrivere interazioni che altrimenti avrebbero dovuto essere ripetute a mano, noiosamente. Un classico esempio era l'inferno di accesso a Internet dial-up (dai giorni precedenti a PPP).

  • È stato possibile scrivere script per testare le proprie applicazioni interattive, a livello di codice, come parte di una suite di regressione.

Oggi la maggior parte delle applicazioni interattive sono sul Web, non sulla console. Da qui la mia domanda: esiste uno strumento che fornisce la capacità di interagire con pagine Web e moduli Web a livello di codice, così come Expect offre la capacità di interagire con le applicazioni della console a livello di programmazione?

(La cosa più vicina di cui sono a conoscenza è Chickenfoot .)

È stato utile?

Soluzione

Potresti cercare Selenium

Altri suggerimenti

Ho usato Selenium RC insieme a Python per guidare le interazioni di pagine Web in modo programmatico . Questo mi ha permesso di scrivere test utente piuttosto estesi in cui sono guidati moduli e input e misurati i loro risultati.

Dai un'occhiata all'IDE Selenium su Firefox (come menzionato sopra). Ti consente di registrare i test nel browser e di riprodurli, utilizzando l'IDE stesso o l'app di controllo remoto.

Perl Mechanize funziona abbastanza bene per questo preciso problema.

HTTPS e alcuni problemi di autenticazione sono talvolta difficili. Pubblicherò domande di coppia su quelle in futuro.

Ho lavorato moltissimo su Expect in una vita precedente e ho sempre pensato che il libro Expect di Don Libes fosse uno dei libri tecnici più scritti e illuminanti che avessi mai visto.

Giù le mani direi che la libreria WWW :: Mechanize di Perl è ciò che vuoi. Ho notato sopra che hai avuto difficoltà a trovare la documentazione. C'è una buona documentazione per questo! Cerca la distribuzione del modulo su search.cpan.org e vedi cosa contiene tutto. C'è una FAQ, un ricettario con esempi, ecc. Inoltre sono sempre stato in grado di ottenere assistenza sul web. Se non riesci a trovarlo qui, prova a use.perl.org o perlmonks.org. WWW :: L'autore di Mechanize, Andy Lester, è presente su Stack Overflow . (È anche un ragazzo cordiale e disponibile.)

Credo che WWW :: Mechanize abbia anche un programma analogo al programma autoexpect di Expect: imposti un processo proxy che esegue questo programma come server, punti il ??tuo browser come proxy, esegui le azioni che vuoi automatizzare e quindi il programma proxy ti offre un programma WWW :: Mechanize da utilizzare come base per il tuo progetto. (Se funziona come autoexpect, ti consigliamo di apportare modifiche da lì.)

Come accennato in precedenza, WWW :: Mechanize è un browser (per essere più precisi, si tratta di un client Web o client http) che risulta programmabile. L'ultima volta che ho guardato, c'erano persino dei lavori in corso per supportarlo in JavaScript.

Oltre al selenio, se stai facendo qualcosa su Ruby / Rails, c'è Webrat .

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