4
4
5
5
namespace Atk4 \Ui \Behat ;
6
6
7
+ use Behat \Behat \Context \Context as BehatContext ;
7
8
use Behat \Behat \Hook \Scope \AfterStepScope ;
8
- use Behat \Testwork \ Tester \ Result \ TestResult ;
9
+ use Behat \MinkExtension \ Context \ RawMinkContext ;
9
10
10
- /**
11
- * Dump page data when failed.
12
- */
13
- class ContextDump extends Context
11
+ class DumpContext extends RawMinkContext implements BehatContext
14
12
{
15
13
/**
16
14
* Dump current page data when step failed for CI.
@@ -19,16 +17,18 @@ class ContextDump extends Context
19
17
*/
20
18
public function dumpPageAfterFailedStep (AfterStepScope $ event ): void
21
19
{
20
+ $ session = $ this ->getMink ()->getSession ();;
21
+
22
22
if ($ event ->getTestResult ()->getResultCode () === TestResult::FAILED ) {
23
- if ($ this -> getSession () ->getDriver () instanceof \Behat \Mink \Driver \Selenium2Driver) {
23
+ if ($ session ->getDriver () instanceof \Behat \Mink \Driver \Selenium2Driver) {
24
24
echo 'Dump of failed step: ' . "\n" ;
25
- echo 'Current page URL: ' . $ this -> getSession () ->getCurrentUrl () . "\n" ;
25
+ echo 'Current page URL: ' . $ session ->getCurrentUrl () . "\n" ;
26
26
global $ dumpPageCount ;
27
27
if (++$ dumpPageCount <= 1 ) { // prevent huge tests output
28
28
// upload screenshot here if needed in the future
29
- // $screenshotData = $this->getSession() ->getScreenshot();
29
+ // $screenshotData = $session ->getScreenshot();
30
30
// echo 'Screenshot URL: ' . $screenshotUrl . "\n";
31
- echo 'Page source: ' . $ this -> getSession () ->getPage ()->getContent () . "\n" ;
31
+ echo 'Page source: ' . $ session ->getPage ()->getContent () . "\n" ;
32
32
} else {
33
33
echo 'Page source: Source code is dumped for the first failed step only. ' . "\n" ;
34
34
}
0 commit comments