5

--- TL; DRSelenio macchina di prova

A questo punto suggerisco a tutti di legato il loro continuo del server di integrazione/servizio per https://ghostinspector.com/

DOMANDA VECCHIO

dopo tre giorni googling e test ho rinunciato e ho bisogno di aiuto.

Il mio obiettivo è consentire ai miei colleghi di registrare uno o più test con l'IDE Selenium. Esportali, caricali su un server e ottieni questo server eseguendo questi test utilizzando il webdriver con htmlunit. Mentre creiamo o ripariamo l'app, caricheremo i test per creare una libreria di test.

Registrare un test con l'IDE Selenium è ok. Ma farlo funzionare è un problema. La macchina che intendiamo lasciare ai test è un server Linux amazon. Nessuna roba di front-end, niente kde, gtk, quindi niente firefox, chrome, ecc ... Ecco perché ho specificato il driver htmlunit.

Finora non è stato possibile eseguire questa attività anche nella mia macchina - Ubuntu 12.04 x86_64.

Ho scaricato il tarball selenio server e provato a fare funzionare:

java -jar selenium-server.jar -htmlSuite "*webdriver" "our.site.org" "/path/to/testsuite1.html" "/path/to/report1.html" 

Nessun successo. Anche cambiando il "* webdriver" (usando altri pop-up di una schermata del browser).

Ho provato a eseguire il server e il server standalone e la connessione tramite browser.

Ho provato i binding PHP su Facebook.

Ho provato le classi di selenio e PHPUnit e Test - insieme ai loro rispettivi script esportati da Selenium Formatters.

Davvero non so dove sto scivolando. Qualcuno può darmi una direzione sicura, tutorial, ecc, da seguire?

--- EDIT

Va bene, la mia domanda può essere ripreso a:

Che Si IL riga di comando che mi permettesse di eseguire script Selenese con selenio-server, utilizzando il driver HtmlUnit?

+1

Perché non utilizzare Selenium WebDriver? – aimbire

+0

L'utilizzo del webdriver semplice richiede che i browser siano installati - l'opzione che ho scartato, poiché si tratta di un server veramente privo di testa - o, usando HtmlUnit che richiede l'installazione del server di selenio. – Dave

+0

Faccio la maggior parte dei miei script automatici usando solo il driver HTML, non c'è bisogno di un browser tbh. E avrai bisogno del server in entrambi i casi. – aimbire

risposta

2

Hai letto questo post del blog di David Burns (Automated Tester):

http://www.theautomatedtester.co.uk/tutorials/selenium/selenium_rc_setup.htm

egli descrive il modo di eseguire i test utilizzando Selenese HTMLSuite.

Stiamo per utilizzare i comandi HTMLSuite del controllo Selenium Remote . Ciò consente di eseguire le Test Suite Selenese così come sono. Il comando dovrebbe apparire come java -jar selenium-servre.jar -htmlsuite . Browser potrebbe essere: - * firefox - * cromo - * iexplore - * iehta - * Safari - * custom/path/to/navigatore

Il percorso per la suite di test e il file risultati dovrebbero essere un percorso completo.

Ecco un comando di esempio; java -jar selenio server.jar -htmlsuite * iexplore http://www.theautomatedtester.co.uk c: \ testsuite \ TestSuite.html c: \ testsuite \ results.html

Vorrei sottolineare che HtmlUnit non sembra essere una soluzione supportata quindi mi aspetterei di usare - * custom e fornire un percorso per htmlunit.

Questa è una funzionalità legacy quindi c'è la possibilità che non funzioni più come previsto. HTMLSuite prevede che i test siano in formato Selenese (tabella HTML), si cita il tentativo con il binding PHP, non mi aspetto che funzioni. Se si desidera utilizzare alcuni binding PHP, suggerirei di utilizzare la forcella di Adam Saunter per le associazioni di Facebook, che sono le più aggiornate e meglio supportate.

https://github.com/Element-34/saunter.php

+0

Ho già installato la macchina di prova selenese in un'istanza basata su AMI Amazon AM2, eseguendo test con Firefox 19. La domanda riguarda davvero come eseguire quelli con HtmlUnit. – Dave

+0

Per citare quanto sopra: "Vorrei sottolineare che htmlunit non sembra essere un'opzione supportata quindi mi aspetterei di usare - * custom e fornire un percorso per htmlunit." – Ardesco

4

Si sta utilizzando l'integrazione continua? In tal caso, è consigliabile prendere in considerazione un plug-in per far eseguire al test CI il test del selenio. Funziona come un fascino per me con Jenkins.

Considerando la tua particolare configurazione, potresti avere sia il server di Amazon Linux che esegue i test con HTMLUnitDriver, e dichiarare altri computer (con una GUI e un browser appropriato) come "nodi" per eseguire il test su altri browser.

Link to a tutorial

+0

Thx per la tua risposta. Stiamo studiando come e quando implementare l'IC qui in azienda, ma non succederà per un po '. Il link che hai inviato è bello, davvero interessante, ma la mia domanda adesso è: come posso eseguire quella riga di comando usando il driver htmlunit invece del driver firefox? Non c'è opzione * opzione htmlunit. – Dave

0

Con selenio WebDriver si può puntare ad iniziare una HtmlUnit in un nodo già iniziato

In Java si farà qualcosa di simile:

IWebDriver driver = new RemoteWebDriver(new Uri("http://localhost:4444/wd/hub"), DesiredCapabilities.HtmlUnit()); 

Per avviare il nodo assicurati di impostare browserName su "htmlunit".

+0

@aimbirre, sì, conosco anche questo approccio. Ma sto evitando di codificare nulla. Ho bisogno di mantenere i test il più selenese possibile nel mio attuale compito. Questa è una limitazione che non posso ignorare adesso qui. – Dave