使用 Mink 和 Selenium 測試 JavaScript
如果我們想在網站上測試 JavaScript,我們需要使用比 Goutte 更強大的功能(通過 Guzzle 只是 cURL)。有一些選項,如 ZombieJS , Selenium 和 Sahi 。對於這個例子,我將使用 Selenium。
首先,你需要安裝 Mink 的驅動程式:
$ composer require --dev behat/mink-selenium2-driver="^1.2"
你還需要下載 Selenium 獨立伺服器 jar 檔案並啟動它:
$ java -jar selenium-server-standalone-2.*.jar
當我們使用 @javascript
標籤使用 Selenium 驅動程式並提供 Selenium 獨立伺服器的位置時,我們還需要告訴 Behat。
# ./behat.yml
default:
# …
extensions:
Behat\MinkExtension:
base_url: "[your website URL]"
sessions:
# …
javascript:
selenium2:
browser: "firefox"
wd_host: http://localhost:4444/wd/hub
然後,對於你希望使用瀏覽器模擬執行的每個測試,你只需要在功能或方案的開頭新增 @javascript
(或 @selenium2
)標記。
# ./features/TestSomeJavascriptThing.feature
@javascript # or we could use @selenium2
Feature: This test will be run with browser emulation
然後可以通過 Behat 執行測試(與任何其他測試一樣)。一個區別是,當測試執行時,它應該在執行 Selenium 獨立伺服器的計算機上生成一個瀏覽器視窗,然後執行所描述的測試。