2012-03-20 25 views
6

Sono passato da SeleniumRC a WebDriver per quasi due anni. Ma devo dire che non ho sentito nessun evidente vantaggio per il webdriver su rc. Ora ho 200 casi di test con il driver C# contro un sito web. Ma quando li eseguo a fondo per i test di regressione, di solito ottengo 150 passati e 50+ non riusciti/errati. Dopo aver eseguito i test falliti per la seconda volta, molti di loro sono passati, solo alcuni di essi hanno dimostrato di essere problemi con il codice di test. Come posso vedere, a volte WebDriver si sta davvero comportando lentamente, mentre non ho mai incontrato una situazione del genere quando stavo già utilizzando SeleniumRC. Come risultato, ho iniziato a dubitare della necessità di passare da rc a webdriver, perché mi ci è voluto molto più tempo per verificare errori e guasti rispetto a prima.Selenium vs. WebDriver, qualche ovvio vantaggio?

Quindi la mia domanda è: ci sono dei vantaggi per il webdriver su rc per farne la pena di passare da rc a webdriver? Se è così, puoi gentilmente dirmelo? Inoltre, parlami degli svantaggi.

+0

Quindi c'è qualcosa che seleniumRC può fare mentre il webdriver non può? Inoltre, d'altra parte, c'è qualcosa che il webdriver può fare mentre rc non può? –

+1

Ne ho abbastanza di WebDriver, lo cambierò nel mio bambino Selenium RC, indipendentemente dal costo. –

+1

Beh, devo minimizzare quello che ho commentato 2 anni fa.Ho provato a tornare al selenio rc, ma non molto tempo dopo ho capito che è la mia scarsa codifica che dovrebbe essere incolpata, non il webdriver. Ho risolto tutti i miei problemi di codice e il webdriver ha funzionato come un fascino questi anni per me. Proprio come ha detto @Slanec, forse il webdriver non è così buono 2 anni fa, ma sta migliorando. Ora devo dire che è molto meglio, non solo il webdriver, ma anche le mie capacità di codifica. –

risposta

3

Cosa ha detto @Cary.

Tuttavia, il nuovo e più potente WebDriver presenta alcune limitazioni. Poiché è un work-in-progress, il suo comportamento tra le diverse versioni cambia leggermente di volta in volta. Inoltre, non tutte le funzionalità previste sono già state implementate, ci vorrà ancora del tempo per renderlo stabile, privo di bug e completamente sviluppato. Ad esempio: SafariDriver è appena atterrato, i controlli della finestra sono persi, non è possibile scaricare i file in un modo conveniente ecc.

Ma uno sviluppo sano su WebDriver è migliore rispetto allo sviluppo inesistente di oggi su Selenium 1 (It semplicemente non andrà meglio.), giusto?

+1

Grazie per la risposta, Petr. Capisco. Cambiare spesso significa non essere stabile, e questo non è l'ideale per il mio progetto di automazione. Il mio team ha un ciclo di rilascio di due settimane, quindi devo garantire la stabilità del progetto per eseguire i test di regressione prima del rilascio. Non voglio rischiare per l'instabilità del webdriver. Anche se il selenio 1 ha arrestato la sua crescita, è stabile. Forse cambierò il mio progetto di automazione per usare WebDriver un giorno, ma non ora. –

+2

Ora sono trascorsi quasi 4 anni da quando è stato scritto ... –

12

Il selenio RC inietta Javascript nella pagina per guidare le interazioni. Il webdriver interagisce direttamente con il browser. L'iniezione di Javascript aggiuntivo presenta degli svantaggi, con il sito HQ Selenium che lo dichiara piuttosto bene.

Mentre il selenio era uno strumento straordinario, non era privo di inconvenienti. A causa del suo motore di automazione basato su Javascript e delle limitazioni di sicurezza , i browser si applicano a Javascript, cose diverse diventano impossibili da fare. Per rendere le cose "peggiori", le webapps sono diventate sempre più potenti con il tempo , utilizzando tutti i tipi di funzionalità speciali nuovi browser e rendendo queste restrizioni sempre più dolorose.

http://seleniumhq.org/docs/01_introducing_selenium.html#selenium-history

Un altro modo di pensare a questo proposito è che il test di una pagina che ha avuto più JS aggiunto, non sei davvero testare la pagina originale; stai testando una pagina modificata.

+3

Grazie per la tua risposta, OCary! Quindi "testare la pagina originale" è uno dei vantaggi di webdriver su rc, giusto? Questa è una ragione abbastanza buona per me per passare al webdriver, ma puoi dirmi qualche difetto? –

2

Dalla mia esperienza Selenium RC è il framework di testing web più stabile e affidabile che abbia mai utilizzato. Recentemente ho iniziato a valutare WebDriver (aka Selenium 2) per la ragione che tutti dicono che è il futuro di Selenium. Finora non sono impressionato. Le cose semplici (come fare clic su un pulsante) non funzionano in modo coerente tra browser diversi e richiedono soluzioni alternative diverse. Mi rendo conto che ci sono limitazioni in ciò che puoi fare con JavaScript, ma non vorrei sacrificare la stabilità dei miei test per superare queste limitazioni.

+4

Dopo aver lavorato per circa un mese con WebDriver, comincio a piacermi. Ha i suoi quirks e bug per trovare soluzioni alternative, ma questo vale anche per il Selenium RC. – Vlad

Problemi correlati