Utilizzo del selenio in un servizio Web

1

Dato che è necessaria una copia locale del server Selenium e dei driver Web per eseguire un test di automazione, ad esempio ...

  • JUnit-4.10.jar
  • selenio-cromo-driver-2.0a4.jar
  • selenio-java-2.53.0-srcs.jar
  • selenio-java-2.53.0.jar
  • selenio-server-standalone-2.53.0.jar

Esiste un modo per eseguire un servizio Web dove, ad esempio, quando l'utente fa clic su un pulsante, uno script Selenium verrà eseguito per loro? Ad esempio, un bot che automatizza i tweet, ovvero link , senza in realtà fare riferimento all'API oAuth di Twitter perché l'automazione è terminata localmente sulla macchina dell'utente, ovvero apre un browser, immette informazioni di autenticazione e tweet usando clic del mouse ed eventi della tastiera? Questo era solo un esempio concreto, ma la domanda si applica ugualmente a qualsiasi altro tipo concepibile di test di automazione del selenio.

Esistono limitazioni intrinseche a questo metodo? Sembra un po 'pericoloso per me quindi penso che forse i browser in qualche modo bloccano questo tipo di cose dal funzionamento?

    
posta Martin Erlic 12.09.2016 - 16:17
fonte

1 risposta

2

Non ci sono limitazioni che non si applicano al selenio stesso

Non c'è nulla che ti impedisca di guidare il selenio in base a una chiamata a un webservice. Non è difficile implementare un codice che faccia esattamente quello che vuoi eseguendo Selenium. Servizi come Twitter di solito limitano questo comportamento usando varie tecniche come la limitazione (limitando la quantità di richieste che si possono fare), o obbligano ad accedere solo consentendo l'autenticazione usando un CAPTCHA che ovviamente non si può analizzare con il selenio.

In effetti, se lo desideri davvero, non è necessario il Selenium, poiché puoi inviare le richieste HTTP come POST e GET direttamente al server (implementando il tuo "browser" senza l'interfaccia utente). Alcuni dei migliori divertimenti di programmazione che ho avuto anni fa erano la creazione di un bot per riprodurre un determinato gioco basato su browser semplicemente inviando richieste POST e GET direttamente e analizzando il codice HTML per determinare le risposte appropriate.

    
risposta data 12.09.2016 - 16:34
fonte

Leggi altre domande sui tag