2010-11-26 6 views
4

私は、スケーラの仕様でセレンテストの情報やプロジェクトを探しています。 スカラー仕様コードからセレンテストを呼び出すにはどうすればよいですか?セレン、スペック、スケーラ

+0

これまでのところ、あなただけの文を書きました。多分、それを質問として語りましょう。 – leonm

+0

ありがとうございます。 質問が更新されました。 – kolchanov

+0

ScalaとSeleniumについて、何を知りたいですか? – haroonzone

答えて

4

私はちょうど助けになるかもしれないコードを書きました。これはまだセレンのためのスカラーDSLを使用していません。

class EnrollTest extends FlatSpec with ShouldMatchers{ 

    var driver = new FirefoxDriver 
    driver.manage.timeouts.implicitlyWait(10, TimeUnit.SECONDS) 


    val beginnersPage = BeginnersPage.open(driver) 

    "Enroll button" should "open enroll page" in { 
    try { 
     val timeOfFirstCourse = beginnersPage.enrollForTheFirstCourse 
     val enrollPage = new EnrollPage(driver) 

     enrollPage.shouldBeOpen 
     enrollPage.courseDetails should include(timeOfFirstCourse) 
    } 
    finally{ 
     driver.quit 
    } 
    } 

} 

とページクラス:

object BeginnersPage{ 
    val url = "http://"+System.getProperty("testUrl", "www.2ndlanguage.co.uk")+"/beginners.action" 

    def open(driver : WebDriver) : BeginnersPage = { 
    driver.get(url) 
    new BeginnersPage(driver) 
    } 

} 

class BeginnersPage(driver : WebDriver){ 
    private var firstEnrollButton: WebElement = driver.findElement(By.xpath("//div[@class='newPriceBoxRight']/a/div")) 
    private var firstCourseTime: WebElement = driver.findElement(By.xpath("//div[@class='newPriceBoxLeft']//span[@id='time']")) 

    def enrollForTheFirstCourse : String = { 
    val time = firstCourseTime.getText 
    firstEnrollButton.click 
    time 
    } 
} 

class EnrollPage(driver : WebDriver){ 
    def isOpen = driver.getCurrentUrl startsWith "http://www.2ndlanguage.co.uk/offer.action" 
    def courseDetails = driver.findElement(By.id("courseDetailsTextArea")).getText 
} 
+0

ありがとうございます。ものすごく単純。 – kolchanov

関連する問題