drupaltest / behat-one-time-login
通过Drupal一次性登录机制验证用户。
1.0.3
2023-12-14 11:07 UTC
Requires
- drupal/drupal-extension: ^4.1 || ^5.0
- friends-of-behat/service-container-extension: ~1.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-14 12:54:44 UTC
README
在Behat场景中通过Drupal一次性登录机制验证用户。
此功能适用于不使用默认Drupal登录表单,而是依赖双因素认证、单点登录或其他非标准认证方法的项目。
安装
将库添加到您的开发依赖中
$ composer require --dev drupaltest/behat-one-time-login
将以下内容添加到您的 behat.yml 配置文件中
default:
extensions:
FriendsOfBehat\ServiceContainerExtension:
imports:
- "./vendor/drupaltest/behat-one-time-login/behat.services.yml"
使用方法
此库透明地替换了标准登录方法,所以在大多数情况下,可以直接添加并使用,无需修改现有测试场景。
请注意,在标准Drupal登录流程中,用户登录后最终会出现在主页上,而使用此库则会在用户个人资料页面上。我们没有包含重定向到主页的操作,因为在行为驱动开发中,测试应该便于业务利益相关者阅读。非技术用户可能不知道Drupal在登录后会内部重定向到主页。这意味着任何在主页上执行操作的测试都应该包含一个步骤,提示用户打开主页。例如
Given I am logged in as an administrator
And I am on the homepage
开发
本地运行测试
- 运行
composer install以获取代码库$ composer install
- 创建定制的
behat.yml$ cp behat.yml.dist behat.yml
- 根据您的需求调整
behat.yml中的值。您可以使用默认的Behat配置并在使用PHP内置的web服务器进行测试$ ./vendor/bin/drush runserver 8888
或者使用您本地的web服务器(如果有的话)。在这种情况下,您需要在behat.yml中设置适当的配置。 - 安装Drupal
$ ./vendor/bin/drush site-install
- 运行测试
$ ./vendor/bin/behat
致谢
此功能基于Moshe Weitzman的weitzman/logintrait。