Сначала выполните следующие команды для установки зависимостей:
composer require behat/behat
composer require behat/symfony2-extension
composer require behat/mink
composer require behat/mink-browserkit-driver
composer require behat/mink-extension
composer require behat/mink-goutte-driver
composer require behat/mink-selenium2-driver
composer require emuse/behat-html-formatter
composer require coduo/php-matcher
Теперь произнесите Symfony applcation вы хотите разместить в localhost.behat, затем добавить виртуальный хост Конфигурация до httpd_vhost.conf:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/behat/web"
ServerName lochost.behat
DirectoryIndex app_dev.php
<Directory "C:/xampp/htdocs/behat/web">
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
Теперь ваш файл behat.yml должен быть в приложение/Config/behat.yml с содержанием Белу:
default:
formatters:
html:
output_path: web/behat
extensions:
Behat\Symfony2Extension: ~
# Irs\BehatPopupExtension\Extension: ~
Behat\MinkExtension:
base_url: http://lochost.behat/app_dev.php/
javascript_session: selenium2
sessions:
symfony2:
symfony2: ~
selenium2:
selenium2:
browser: chrome
emuse\BehatHTMLFormatter\BehatHTMLFormatterExtension:
name: html
renderer: Twig,Behat2
file_name: index
print_args: true
print_outp: true
loop_break: true
suites:
api:
type: symfony_bundle
bundle: NameSpaceYourBundle
#mink_session: symfony2
mink_session: selenium2
contexts:
- NameSpace\YourBundle\Features\Context\FeatureContext:
baseUrl: http://lochost.behat/app_dev.php/
screenCapturePath: web/behat
# Add "-p firefox" parameter to behat command to run tests with Firefox browser
firefox:
extensions:
Behat\MinkExtension\Extension:
browser_name: firefox
# Add "-p chrome" parameter to behat command to run tests with Chrome browser
chrome:
extensions:
#Behat\MinkExtension\Extension:
Behat\MinkExtension:
browser_name: chrome
# Add "-p safari" parameter to behat command to run tests with Safari browser
safari:
extensions:
Behat\MinkExtension\Extension:
browser_name: safari
Все, что вы идете, теперь добавить свой компонент и файл контекста в пространстве имен: NameSpace \ YourBundle \ Особенности \ Context \ FeatureContext
и запустить следующие команды из командной строки/мерзавец Баш (preferrable):
bin/behat -v --suite=api @NameSpaceYourBundle/your.feature --config=app/config/behat.yml -f pretty
или если вы хотите сохранить результат как HTML на веб/behat каталог затем:
bin/behat -v --suite=api @NameSpaceYourBundle/your.feature --config=app/config/behat.yml
Позволь мне знать, если он работает
Примечание: Я не уверен, что если вы работаете селен сервер или автономный сервер, следовательно, добавив шаг для запуска селена автономного сервера:
Скачать selenium и chromedriver и поместите сервер selenium .exe и chromedriver.exe в ту же папку проверьте с помощью «java -version», и его не должно быть < 1.6.x вам может потребоваться скачать совместимый сервер selenium server и chrome driver откройте командную строку и запустите следующую команду команд:
cd C:\<folder contains selenium server .exe and chromedriver.exe>
java -Dwebdriver.chrome.driver="chromedriver.exe" -jar selenium-server-standalone-x.xx.0.jar
Вы использовали [раздел использования] (http://extensions.behat.org/symfony2/#usage) при создании своего «FeatureContext»? – nifr