mailcare / codeception-module-mailcare
Codeception 的 MailCare 模块
1.0
2019-12-31 10:31 UTC
Requires
- php: ^7.2
- codeception/codeception: ^4.0
Requires (Dev)
- codeception/util-universalframework: ^1.0
- friendsofphp/php-cs-fixer: ^2.16
- phpunit/phpunit: ^8.0
This package is auto-updated.
Last update: 2024-08-29 05:24:02 UTC
README
Codeception 的 MailCare 模块
安装
composer require "mailcare/codeception-module-mailcare"
文档
模块,用于测试通过 MailCare 接收的电子邮件。
配置
- url 可选 - 您 MailCare 服务器的 API URL (默认: https://mailix.xyz/api)
- login 可选 - 您 MailCare 服务器的登录名
- password 可选 - 您 MailCare 服务器的密码
- timeoutInSeconds 可选 - 等待最多 n 秒直到收到电子邮件 (默认: 30 秒)
示例
modules:
enabled
- MailCare:
url: 'https://mailix.xyz/api'
login: 'https://mailix.xyz/api'
password: 'https://mailix.xyz/api'
标准
inbox
通过收件箱过滤 (test@example.com).sender
通过发件人过滤 (test@example.com).subject
通过主题过滤 (Welcome).since
通过 createdAt 过滤 (2018-01-19T12:23:27+00:00 或 ISO 8601 时长).search
通过收件箱、发件人或主题搜索 (匹配).unread
仅通过未读过滤 (true).favorite
仅通过收藏过滤 (true).
所有标准都可以在 MailCare 的 API 文档 中找到,除了 page 和 limit。
使用 ISO 8601 时长的 since
示例
- P1D: 一天的时长
- PT1M: 一分钟的时长 (注意时间设计符 T,它位于时间值之前)
操作
seeEmailCount
检查电子邮件数量是否等于预期值。最多等待 $timeout 秒直到收到指定的电子邮件。
$I->seeEmailCount(2, [ 'inbox' => 'john@example.org', 'sender' => 'no-reply@company.com', 'subject' => 'Welcome John!', 'since' => 'PT2M', ], 30);
param int
$expectedCountparam array
$criteriasparam int
$timeoutInSeconds (可选)
seeEmail
检查指定的电子邮件是否存在。最多等待 $timeout 秒直到收到指定的电子邮件。
$I->seeEmail([ 'inbox' => 'john@example.org', 'sender' => 'no-reply@company.com', 'subject' => 'Welcome John!', 'since' => 'PT2M', ], 30);
param array
$criteriasparam int
$timeoutInSeconds (可选)
dontSeeEmail
与 seeEmail 相反。
$I->dontSeeEmail([ 'inbox' => 'john@example.org', 'since' => 'PT2M', ], 30);
param array
$criteriasparam int
$timeoutInSeconds (可选)
grabLinksInLastEmail
在最后收到的电子邮件中,获取所有链接。最多等待 $timeout 秒直到收到指定的电子邮件。
$I->grabLinksInLastEmail([ 'inbox' => 'john@example.org', 'since' => 'PT2M', ], 30);
param array
$criteriasparam int
$timeoutInSeconds (可选)return array
['https://google.fr', 'https://mailcare.io']
grabTextInLastEmail
在最后收到的电子邮件中,获取所有与正则表达式对应的文本。最多等待 $timeout 秒直到收到指定的电子邮件。
$I->grabTextInLastEmail('#Password: (?<password>\S+)#', [ 'inbox' => 'john@example.org', 'subject' => 'Your credentials', 'since' => 'PT2M', ], 30);
param string
$regexparam array
$criteriasparam int
$timeoutInSeconds (可选)return array
从 preg_match_all 获取的匹配项