Skip to content

Commit d546112

Browse files
authored
Merge pull request #43 from magagan/handleMultipleFeatureTags_magagan_10162017
Handle multiple tags in Features
2 parents 1fa6389 + f8265ae commit d546112

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

src/Event/Subscriber/BddSubscriber.php

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ public function afterStep(AfterStepTested $event)
181181
$resultCode = $event->getTestResult()->getResultCode();
182182
$stepText = sprintf("%s %s", $event->getStep()->getKeyword(), $event->getStep()->getText());
183183
$valuesTables = [];
184+
$screenshotOnFailed = Athena::settings()->get('bddScreenshotOnlyOnFailed')->orDefaultTo(true);
184185

185186
// not the most pretty implementation
186187
if ($event->getStep()->hasArguments()) {
@@ -203,10 +204,22 @@ public function afterStep(AfterStepTested $event)
203204
}
204205
}
205206

206-
$imageFileName = $this->takeScreenshot();
207-
$httpTransactions = $this->getHttpTransactionEvents();
207+
if (($resultCode == TestResult::FAILED) && ($screenshotOnFailed == true)){
208+
$imageFileName = $this->takeScreenshot();
209+
$httpTransactions = $this->getHttpTransactionEvents();
208210

209-
$this->report->finishStep($stepText, $valuesTables, $resultCode, $imageFileName, $exceptionMessage, $exceptionTrace, $exceptionType, $httpTransactions);
211+
$this->report->finishStep($stepText, $valuesTables, $resultCode, $imageFileName, $exceptionMessage, $exceptionTrace, $exceptionType, $httpTransactions);
212+
} elseif ($screenshotOnFailed == false) {
213+
$imageFileName = $this->takeScreenshot();
214+
$httpTransactions = $this->getHttpTransactionEvents();
215+
216+
$this->report->finishStep($stepText, $valuesTables, $resultCode, $imageFileName, $exceptionMessage, $exceptionTrace, $exceptionType, $httpTransactions);
217+
} elseif (($resultCode == TestResult::PASSED) && ($screenshotOnFailed == true)) {
218+
$imageFileName = null;
219+
$httpTransactions = null;
220+
221+
$this->report->finishStep($stepText, $valuesTables, $resultCode, $imageFileName, $exceptionMessage, $exceptionTrace, $exceptionType, $httpTransactions);
222+
}
210223
}
211224

212225
/**

src/Logger/Template/cucumber_report.twig

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,12 @@
4646
"description": "",
4747
"type" : "scenario",
4848
"tags":[
49-
{% for tag in test.tags %}
50-
{"name": "{{ tag }}"}
49+
{% for key in test.tags|keys %}
50+
{% if loop.last == true %}
51+
{"name": "{{ test.tags[key] }}"}
52+
{% else %}
53+
{"name": "{{ test.tags[key] }}"},
54+
{% endif %}
5155
{% endfor %}
5256
],
5357
"steps" : [
@@ -64,7 +68,6 @@
6468
"error_message" : "{{ "#{errorMessage}" | raw }}",
6569
{% endif %}
6670

67-
6871
"status" : "{{ step.status }}"
6972

7073
},

0 commit comments

Comments
 (0)