使用 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 独立服务器的计算机上生成一个浏览器窗口,然后执行所描述的测试。