2012-04-03 28 views
5

Używam programu Play framework 2.0. Chciałbym napisać test akceptacji oparty na przeglądarce przy użyciu Selenium, ale nigdy nie używałam Selenium, zanim nie muszę go mniej zintegrować z Play lub Scala.Pierwsze kroki z Playframework 2.0 i Selenium

Co to jest podstawowa konfiguracja, z której mogę kopiować i pracować?

+0

Jedyna dokumentacja znajdę dotyczy to Play 1.0, którego nie próbowali przystosować Play 2.0. Niezależnie od tego, myślę, że powinno być miejsce, w którym ludzie mogą "zacząć tutaj". –

+7

Przeczytaj [dokumentację] (http://www.playframework.org/documentation/2.0/ScalaFunctionalTest). Rzuć okiem na próbki, jeśli naprawdę chcesz skopiować i wkleić kod. –

+0

Przez golly masz rację! Szczerze mówiąc, nie zabrałem tej dokumentacji, że zostało już zainstalowane i skonfigurowane. Przeglądałem strony Selenium i strony sterownika sieciowego z mozolnym wzrokiem. Sądzę, że powinienem był po prostu wypróbować to pierwszy. –

Odpowiedz

1

Oto przykład, jak to zrobić za pomocą HTMLUnit, jeśli to pomaga.

Zainspirowany od: 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

Dobry przykład - preferowane jest kopiowanie zawartości (zmodyfikowanej lub tylko niezbędnej), ponieważ strona może być przenoszona/usuwana. –