第一個自動化測試程式

Browser.drive 是開始使用 Geb 的第一步,在 drive 的 Closure 區塊內可以使用 Geb 的 DSL 語法,開始進行瀏覽器的各種操作。

go 指令用來開啓一個網頁 URL 位址。

以下是自動化操作 Google 搜尋的完整範例,使用 Geb 的 DSL 語法撰寫相當簡單易懂。

範例:03/first-test-script.groovy

@Grab('org.gebish:geb-core:0.12.2')
@Grab('org.seleniumhq.selenium:selenium-firefox-driver:2.46.0')
import geb.Browser

Browser.drive {
    go 'https://www.google.com.tw/'

    waitFor { title.startsWith('Google') }

    $('input', name: 'q').value('CodeData')
    $('input', name: 'btnI').click()

    waitFor { title.endsWith('CodeData') }

    println $('div.article h3 a').text()
}

這段程式碼包含幾個常見的 Geb 語法使用範例。

  • .value() 將資料填入表單。
  • .text() 取得 Element 包含的文字內容。
  • .click() 模擬滑鼠點擊 Element 的事件。
  • waitFor 等待一個條件被滿足。

waitFor 是撰寫 Geb Web Test 重要的語法,它如同以往 Unix 自動化操作 Telnet 的 Expect 工具,可以讓我們等待網頁內容改變如預期。如果 waitFor 在限定時間內無法等到一個滿意的結果,就會拋出 WaitTimeoutException

results matching ""

    No results matching ""