【问题标题】:Symfony2 Extension - Behat MinkSymfony2 扩展 - Behat Mink
【发布时间】:2017-05-09 21:43:08
【问题描述】:

我从here为 Behat Mink 安装了 Symfony2 扩展
当我运行测试时,发生错误

[ReflectionException] 类 AppKernel 不存在。

我做错了什么?

behat.yml

default:
extensions:
    Behat\MinkExtension\Extension:
        base_url: http://localhost/behat
        goutte: ~
        selenium2: ~
    Behat\Symfony2Extension\Extension: ~

【问题讨论】:

标签: symfony behat mink


【解决方案1】:

首先运行这些命令来安装依赖项:

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

现在说你想托管为 localhost.behat 的 symfony 应用程序,然后将 vhost 配置添加到 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 文件应该在 app/config/behat.yml 并带有 belo 内容:

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\Features\Context\FeatureContext

并从命令提示符/git bash(首选)运行以下命令:

bin/behat -v --suite=api @NameSpaceYourBundle/your.feature --config=app/config/behat.yml -f pretty

或者如果你想将输出保存为 html 到 web/behat 目录,那么:

bin/behat -v --suite=api @NameSpaceYourBundle/your.feature --config=app/config/behat.yml

让我知道它是否有效

注意: 我不确定您是在运行 selenium 服务器还是独立服务器,因此添加了运行 selenium 独立服务器的步骤:

下载seleniumchromedriver并将selenium服务器.exe和chromedriver.exe放在同一个文件夹 检查“java -version”,它不应该是

cd C:\<folder contains selenium server .exe and chromedriver.exe>
java -Dwebdriver.chrome.driver="chromedriver.exe" -jar selenium-server-standalone-x.xx.0.jar

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多