티스토리 뷰

Geb 관련 영상

[SpringCamp2013] Spring MVC TEST 어렵지 않아요!

PCSELL 프로젝트 기반 Geb Project

PCSELL 사이트를 먼저 실행 후 Geb 테스트 프로젝트를 실행

git bash를 사용하여 실행

$ ./gradlew test

  • GebConfig.groovy (테스트 설정 파일)
    • selenium Web 드라이버 사용
    • 테스트 할 사이트 URL 설정
import org.openqa.selenium.chrome.ChromeDriver
import org.openqa.selenium.chrome.ChromeOptions
import org.openqa.selenium.firefox.FirefoxDriver

waiting {
    timeout = 2
}

environments {
    // run via “./gradlew chromeTest”
    // See: http://code.google.com/p/selenium/wiki/ChromeDriver
    chrome {
        driver = { new ChromeDriver() }
    }

    // run via “./gradlew chromeHeadlessTest”
    // See: http://code.google.com/p/selenium/wiki/ChromeDriver
    chromeHeadless {
        driver = {
            ChromeOptions o = new ChromeOptions()
            o.addArguments('headless')
            new ChromeDriver(o)
        }
    }

    // run via “./gradlew firefoxTest”
    // See: http://code.google.com/p/selenium/wiki/FirefoxDriver
    firefox {
        atCheckWaiting = 1
        driver = { new FirefoxDriver() }
    }
}

// To run the tests with all browsers just run “./gradlew test”
baseUrl = "http://localhost:8080"
  • GebishOrgSpec.groovy (테스트 시나리오 정의 파일)
    • When: 테스트 케이스
    • Then: 테스트 기대 결과
import geb.spock.GebSpec

class GebishOrgSpec extends GebSpec {

    def "can get to the current Book of Geb"() {
        when:
        to PcSellHomePage

        then:
        manualsMenu.jumbo.text().startsWith("임직원")

        when:
        manualsMenu.menus[1].click()

        then:
        at PCSellLoginPage
    }

    def "go login page"() {
        when:
        to PcSellHomePage

        then:
        manualsMenu.jumbo.text().startsWith("임직원")

        when:
        manualsMenu.menus[2].click()

        then:
        at PCSellLoginPage
    }

    def "Login Test"() {
        when:
        to LoginTest

        then:
        loginBtn.text().startsWith("Login")

        when:
        loginAsTester()

        then:
        at PCSellLoginPage
    }
}

참고사이트

댓글