2012-04-03 23 views
5

Tôi đang sử dụng Play framework 2.0. Tôi muốn viết một số thử nghiệm chấp nhận dựa trên trình duyệt bằng cách sử dụng Selenium, nhưng tôi chưa bao giờ sử dụng Selenium trước khi phải tích hợp nó với Play hoặc Scala.Bắt đầu với Playframework 2.0 và Selenium

Thiết lập cơ bản mà tôi có thể sao chép và làm việc là gì?

+0

Các tài liệu duy nhất mà tôi có thể tìm thấy liên quan đến Chơi 1.0, mà tôi đã không cố gắng để thích nghi đối với Play 2.0. Bất kể, tôi nghĩ rằng nên có một nơi mà mọi người có thể "bắt đầu ở đây". –

+7

Vui lòng đọc [tài liệu] (http://www.playframework.org/documentation/2.0/ScalaFunctionalTest). Hãy xem các mẫu nếu bạn thực sự muốn sao chép-dán mã. –

+0

Bởi golly bạn đúng! Thành thật mà nói, tôi đã không lấy đi từ tài liệu đó rằng nó đã được cài đặt và cấu hình. Tôi đang duyệt trang Selenium và trình điều khiển web với đôi mắt boggling. Tôi đoán tôi nên thử nó trước. –

Trả lời

1

Dưới đây là ví dụ về cách thực hiện với HTMLUnit, nếu điều đó giúp bạn.

Lấy cảm hứng từ: 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

Ví dụ tốt - nó được ưa thích để sao chép nội dung (sửa đổi, hoặc chỉ cần thiết), bởi vì trang có thể được di chuyển/xóa. –