2012-04-03 24 views
5

Sto utilizzando Play framework 2.0. Vorrei scrivere alcuni test di accettazione basati su browser utilizzando Selenium, ma non ho mai usato Selenium prima di averlo meno integrato con Play o Scala.Guida introduttiva a Playframework 2.0 e selenio

Che cos'è una configurazione di base da cui posso copiare e lavorare?

+0

L'unica documentazione che posso trovare riferisce a giocare 1.0, che non ho tentato di adattare for Gioca 2.0. Indipendentemente da ciò, penso che dovrebbe esserci un posto dove le persone possono "iniziare da qui". –

+7

Leggere la [documentazione] (http://www.playframework.org/documentation/2.0/ScalaFunctionalTest). Dai uno sguardo agli esempi se vuoi davvero copiare il codice. –

+0

Di golly hai ragione! Onestamente, non ho tolto la documentazione che era già installata e configurata. Stavo sfogliando le pagine del driver del selenio e del web con gli occhi sbalorditi. Credo che avrei dovuto provarlo prima. –

risposta

1

Ecco un esempio su come farlo con HTMLUnit, se questo ti aiuta.

ispirato: https://github.com/joscha/Play20/blob/master/samples/scala/computer-database/test/IntegrationSpec.scala

import org.specs2.mutable._ 
import play.api.test._ 
import play.api.test.Helpers._ 
import org.fluentlenium.core.filter.FilterConstructor._ 
class IntegrationSpec extends Specification { 
    "Application" should { 
    "work from within a browser" in { 
     running(TestServer(3333), HTMLUNIT) { browser => 
     browser.goTo("http://www.myRockstartDomain.com:3333/") 
      browser.$("header h1").first.getText must contain("Play 2.0 sample application — Computer database") 
      browser.$("#pagination li.current").first.getText must equalTo("Displaying 1 to 10 of 574") 
      browser.$("#pagination li.next a").click() 
      browser.$("#pagination li.current").first.getText must equalTo("Displaying 11 to 20 of 574") 
      browser.$("#searchbox").text("Apple") 
      browser.$("#searchsubmit").click() 
     } 
    } 
    } 
} 
+0

Buon esempio: si preferisce copiare il contenuto (modificato o solo essenziale), perché la pagina può essere spostata/eliminata. –