Drupal 使用drush驱动程序提高behat性能

Drupal 使用drush驱动程序提高behat性能,drupal,behat,drupal-8,Drupal,Behat,Drupal 8,我在drupal安装中运行behat inside vagrant。 当我使用drush驱动程序时,为了验证管理员身份,例如,测试运行非常慢(2')。 我的行为是: default: suites: default: contexts: - FeatureMinkContext - FeatureContext: - "/vagrant/images/behat" - 813 - 1855

我在drupal安装中运行behat inside vagrant。 当我使用drush驱动程序时,为了验证管理员身份,例如,测试运行非常慢(2')。 我的行为是:

default:
  suites:
    default:
      contexts:
        - FeatureMinkContext
        - FeatureContext:
        - "/vagrant/images/behat"
        - 813
        - 1855
        - Drupal\DrupalExtension\Context\DrupalContext
        - Drupal\DrupalExtension\Context\MinkContext
        - Drupal\DrupalExtension\Context\MessageContext
        - Drupal\DrupalExtension\Context\DrushContext
    extensions:
      Behat\MinkExtension:
      selenium2: ~
      javascript_session: 'selenium2'
      browser_name: firefox
      base_url: http://solar.com/  # Replace with your site's URL
    Drupal\DrupalExtension:
      blackbox: ~
      region_map:
        search: ".form-search"
      api_driver: 'drush'
      drush:
        root: /vagrant/drupal
      selectors:
        message_selector: '.messages'
        error_message_selector: '.messages.messages-error'
        success_message_selector: '.messages.messages-status'
      drupal:
        # Replace with your real Drupal root.
        drupal_root: "/vagrant/drupal"
测试结构:

@javascript @api
Feature: Tests google maps and pois
@maps
Scenario: My tests
  Given I am logged in as a user with the "administrator" role
  ...
没有使用drush,但是

您需要做的第一件事是确定瓶颈,可能是服务器速度慢,可能是您使用的某些方法速度慢,或者可能您有一些不正确的等待

如果管理员身份验证需要2',肯定有问题

运行场景,调试,直到您缩小到有问题的方法

您还可以做其他一些事情:

  • 永远不要使用盲等待,只使用条件等待
  • 如果您必须填写大型表单,请尝试使用javascript方法进行填写,这将非常快
  • 尝试不同的浏览器,在我的情况下,chrome稍微快一点
    • 没有使用drush,但是

      您需要做的第一件事是确定瓶颈,可能是服务器速度慢,可能是您使用的某些方法速度慢,或者可能您有一些不正确的等待

      如果管理员身份验证需要2',肯定有问题

      运行场景,调试,直到您缩小到有问题的方法

      您还可以做其他一些事情:

      • 永远不要使用盲等待,只使用条件等待
      • 如果您必须填写大型表单,请尝试使用javascript方法进行填写,这将非常快
      • 尝试不同的浏览器,在我的情况下,chrome稍微快一点

      是本地站点设置吗?如果是,那么Drupal的behat脚本在本地运行时确实比在实际站点上运行时慢了一点。我几乎在每个项目中都遇到过这种情况。对我来说,第一步是管理员身份验证,有时需要5分钟。增加RAM大小在某种程度上可以减少此问题。

      这是本地站点设置吗?如果是,那么Drupal的behat脚本在本地运行时确实比在实际站点上运行时慢了一点。我几乎在每个项目中都遇到过这种情况。对我来说,第一步是管理员身份验证,有时需要5分钟。增加RAM大小在一定程度上减少了这个问题