【问题标题】:How to select a driver in Behat?如何在 Behat 中选择驱动程序?
【发布时间】:2013-08-16 21:25:26
【问题描述】:

我同时安装了 Goutte 和 Sahi。我如何知道我默认使用的是什么驱动程序?

另外,我如何从一个驱动程序更改为另一个驱动程序?

谢谢

 public function iAmOnHomepage()
    {

      // $this->getSession()->visit("/");
   //     $driver = new \Behat\Mink\Driver\GoutteDriver();
    //    $session = new \Behat\Mink\Session($driver);

        // start session:
      //  $session->start();


     //   $this->getSession($session);
        $session = $this->getSession();
        $session->visit($this->locatePath('/'));

        $link = $session->getPage()->findLink('I am a Physician');

       if (null === $link) {
          throw new \LogicException("Home Page Not Loaded:\n");   
       }
    }

我的 behat.yml 文件:

default:
  formatter:
    name: progress
  extensions:
    Behat\Symfony2Extension\Extension:
      mink_driver: true
      kernel:
        env: test
        debug: true
    Behat\MinkExtension\Extension:
      sahi: ~
      goutte: ~
      base_url: 'http://local.referral.com'
      default_session: symfony2

【问题讨论】:

    标签: php behat sahi goutte


    【解决方案1】:

    你必须在你的“Behat\MinkExtension\Extension”部分定义“default_session:goutte”。 然后定义 sahi_session: sahi

    现在您可以像这样在功能文件中切换会话:

    Feature: Category
      Add Category, change Category
    
      @sahi
      Scenario: Change Category, add new Category
      ....
    

    【讨论】:

      【解决方案2】:

      我希望能够在开发时从 CLI 中切换方法。

      • 大部分时间都假设 goutte(除非测试本身被标记为 更喜欢@javascript)
      • 但要查看问题出在哪里,我什至想在我的屏幕上看到非 js 问题。

      我的 behat.yml:

      default:
        suites:
          default:
            paths:
              - %paths.base%/features
            contexts:
              - Drupal\DrupalExtension\Context\DrupalContext
              - Drupal\DrupalExtension\Context\MinkContext
        extensions:
          Behat\MinkExtension:
            goutte: ~
            selenium2: ~
      
      chrome:
        extensions:
          Behat\MinkExtension:
            browser_name: chrome
            default_session: 'selenium2'
      

      现在,运行 'behat' 将主要使用 goutte,但如果我选择运行

      behat -p chrome
      

      我运行相同的浏览器版本。

      behat 3.1.0 版 (我看到很多文档说它是“Behat\MinkExtension\Extension” - 但我发现它是“Behat\MinkExtension” - 这可能是版本问题。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-25
        • 1970-01-01
        • 1970-01-01
        • 2017-04-07
        • 2020-11-23
        • 1970-01-01
        • 2018-11-09
        • 1970-01-01
        相关资源
        最近更新 更多