priotas / behat-slack-extension
此包已被弃用且不再维护。未建议替代包。
一个用于从 behat 向 Slack 发送文件的 behat 扩展
1.0
2017-04-25 08:08 UTC
Requires
- php: ^7.0
- behat/behat: ~3.0,>=3.0.4
Requires (Dev)
- phpunit/phpunit: ^6.1
This package is not auto-updated.
Last update: 2020-04-28 18:46:59 UTC
README
安装
composer require --dev priotas/behat-slack-extension
配置
behat.yml
profile_name: extensions: Priotas\Behat\SlackExtension: slackToken: "xoxb-0000000000-xxxxxxxxxxxxxxxxxxxxxxxx" slackChannel: "XXXXXXXXX"
环境变量
export BEHAT_PARAMS='{"extensions" : {"Priotas\\Behat\\SlackExtension" : {"slackToken" : "xoxb-0000000000-xxxxxxxxxxxxxxxxxxxxxxxx", "slackChannel": "XXXXXXXXX"}}}'
使用方法
/** * @AfterStep */ public function takeScreenshotAfterFailedStep(Behat\Behat\Hook\Scope\AfterStepScope $scope) { /** Behat\Behat\Tester\Result\StepResult $result */ $result = $scope->getTestResult(); if (!$result->isPassed()) { $driver = $this->getSession()->getDriver(); if ($driver instanceof \Behat\Mink\Driver\Selenium2Driver) { $driver->resizeWindow(1024, 768); $featureName = basename($scope->getFeature()->getFile(), '.feature'); $stepText = $featureName . '.' . $this->scenarioName . '.' . $scope->getStep()->getText(); $fileTitle = 'behat_screenshot_' . preg_replace("#[^a-zA-Z0-9\._-]#", '', $stepText); $fileName = sys_get_temp_dir() . DIRECTORY_SEPARATOR . $fileTitle . '.png'; $screenshot = $driver->getScreenshot(); file_put_contents($fileName, $screenshot); print "Screenshot for '{$stepText}' placed in {$fileName}\n"; if (isset($this->slackChannel)) { print "Uploading Screenshot to Slack...\n"; $this->slackChannel->upload($fileName, $fileTitle, $stepText); } } } }