2

我安装了 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
4

2 回答 2

2

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

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

Feature: Category
  Add Category, change Category

  @sahi
  Scenario: Change Category, add new Category
  ....
于 2013-08-14T19:35:49.063 回答
1

我希望能够在开发时在 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” - 这可能是版本问题。)

于 2017-06-07T23:05:48.690 回答