2012-04-03 21 views
5

Estoy utilizando Play Framework 2.0. Me gustaría escribir alguna prueba de aceptación basada en el navegador usando Selenium, pero nunca he usado Selenium antes y debo integrarlo menos con Play o Scala.Introducción a Playframework 2.0 y Selenium

¿Qué es una configuración básica que puedo copiar y trabajar?

+0

La única documentación que puedo encontrar refiere al Juego 1.0, que no he intentado adaptar para la reproducción 2.0. A pesar de todo, creo que debería haber un lugar donde las personas puedan "comenzar aquí". –

+7

Lea la [documentación] (http://www.playframework.org/documentation/2.0/ScalaFunctionalTest). Mire las muestras si realmente quiere copiar y pegar el código. –

+0

¡Por Dios, tienes razón! Honestamente, no quité esa documentación que ya estaba instalada y configurada. Estaba navegando por el Selenium y las páginas del controlador web con los ojos desorbitados. Creo que debería haberlo intentado primero. –

Respuesta

1

Aquí hay un ejemplo de cómo hacerlo con HTMLUnit, si eso lo ayuda.

inspirado en: 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

Buen ejemplo: se prefiere copiar el contenido (modificado, o solo esencial), porque la página se puede mover/eliminar. –