[yii\base\ErrorException] Undefined index: ELEMENT

Hey all,

So I have turned on acceptance testing in the advanced template. Getting the exception below. Can’t see why.

I am running Xubuntu

Java version: 1.8.0_131

Selenium is running and version is: selenium-server-standalone-3.5.0

geckodriver-v0.18.0 is in my /usr/local/bin/

tests run using firefox 55.0.1 (64-bit)

I have done the following:

renamed frontend/tests/acceptance.suite.yml.example to acceptance.suite.yml

Changed composer.json

From: "codeception/base": "^2.2.3",

To: "codeception/codeception": "^2.2.3",

ran composer update

./yii_test migrate

vendor/bin/codecept build

vendor/bin/codecept run

I get:





 Test  ../frontend/tests/acceptance/HomeCest.php:checkHome

                                                      

  [yii\base\ErrorException] Undefined index: ELEMENT  

                                                      


Scenario Steps:


 2. $I->see("My Company") at ../frontend/tests/acceptance/HomeCest.php:12

 1. $I->amOnPage("/index-test.php/site/index") at ../frontend/tests/acceptance/HomeCest.php:11


#1  /home/mark/Sources/advancedapp/frontend/tests/_support/_generated/AcceptanceTesterActions.php:363

#2  /home/mark/Sources/advancedapp/frontend/tests/acceptance/HomeCest.php:12




I debugged to the point the exception is thrown:




yii\base\ErrorException: Undefined index: ELEMENT in /home/mark/Sources/advancedapp/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php on line 198


Call Stack:

    0.1023     464800   1. {main}() /tmp/ide-codeception.php:0

    0.4205    5028496   2. Codeception\Application->run($input = <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />, $output = <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />) /tmp/ide-codeception.php:495

    0.4278    5128376   3. Symfony\Component\Console\Application->run($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = array (0 => 'run', 1 => '--report', 2 => '-o', 3 => 'reporters: report: PhpStorm_Codeception_ReportPrinter', 4 => '--no-ansi', 5 => '--no-interaction', 6 => 'frontend/tests/acceptance/HomeCest.php'); private $parsed = array (); protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = array (...); private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = array (...); private $shortcuts = array (...) }; protected $stream = NULL; protected $options = array ('report' => TRUE, 'override' => array (...), 'no-ansi' => TRUE, 'no-interaction' => TRUE); protected $arguments = array ('command' => 'run', 'suite' => 'frontend/tests/acceptance/HomeCest.php'); protected $interactive = FALSE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(152) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}:stream = resource(146) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = array (...); private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Application.php:103

    0.5405    5279320   4. Symfony\Component\Console\Application->doRun($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = array (0 => 'run', 1 => '--report', 2 => '-o', 3 => 'reporters: report: PhpStorm_Codeception_ReportPrinter', 4 => '--no-ansi', 5 => '--no-interaction', 6 => 'frontend/tests/acceptance/HomeCest.php'); private $parsed = array (); protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = array (...); private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = array (...); private $shortcuts = array (...) }; protected $stream = NULL; protected $options = array ('report' => TRUE, 'override' => array (...), 'no-ansi' => TRUE, 'no-interaction' => TRUE); protected $arguments = array ('command' => 'run', 'suite' => 'frontend/tests/acceptance/HomeCest.php'); protected $interactive = FALSE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(152) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}:stream = resource(146) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = array (...); private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /home/mark/Sources/advancedapp/vendor/symfony/console/Application.php:130

    0.5431    5279320   5. Symfony\Component\Console\Application->doRunCommand($command = class Codeception\Command\Run { protected $codecept = class Codeception\Codecept { protected $runner = class Codeception\PHPUnit\Runner { ... }; protected $result = class PHPUnit\Framework\TestResult { ... }; protected $coverage = NULL; protected $dispatcher = class Symfony\Component\EventDispatcher\EventDispatcher { ... }; protected $extensionLoader = class Codeception\Subscriber\ExtensionLoader { ... }; protected $options = array (...); protected $config = array (...); protected $extensions = array (...) }; protected $executed = 0; protected $options = array ('override' => array (...), 'ext' => array (...), 'report' => TRUE, 'html' => 'report.html', 'xml' => 'report.xml', 'tap' => 'report.tap.log', 'json' => 'report.json', 'colors' => TRUE, 'no-colors' => FALSE, 'silent' => FALSE, 'steps' => FALSE, 'debug' => FALSE, 'coverage' => NULL, 'coverage-html' => NULL, 'coverage-xml' => NULL, 'coverage-text' => NULL, 'coverage-crap4j' => NULL, 'no-exit' => FALSE, 'group' => array (...), 'skip' => array (...), 'skip-group' => array (...), 'env' => array (...), 'fail-fast' => FALSE, 'no-rebuild' => FALSE, 'help' => FALSE, 'quiet' => FALSE, 'verbose' => FALSE, 'version' => FALSE, 'ansi' => FALSE, 'no-ansi' => TRUE, 'no-interaction' => TRUE, 'config' => NULL); protected $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { ... }; private ${Symfony\Component\Console\Output\StreamOutput}:stream = resource(146) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Command\Command}:application = class Codeception\Application { protected $coreArguments = class Symfony\Component\Console\Input\ArgvInput { ... }; private ${Symfony\Component\Console\Application}:commands = array (...); private ${Symfony\Component\Console\Application}:wantHelps = FALSE; private ${Symfony\Component\Console\Application}:runningCommand = ...; private ${Symfony\Component\Console\Application}:name = 'Codeception'; private ${Symfony\Component\Console\Application}:version = '2.3.5'; private ${Symfony\Component\Console\Application}:catchExceptions = TRUE; private ${Symfony\Component\Console\Application}:autoExit = TRUE; private ${Symfony\Component\Console\Application}:definition = class Symfony\Component\Console\Input\InputDefinition { ... }; private ${Symfony\Component\Console\Application}:helperSet = class Symfony\Component\Console\Helper\HelperSet { ... }; private ${Symfony\Component\Console\Application}:dispatcher = NULL; private ${Symfony\Component\Console\Application}:terminal = class Symfony\Component\Console\Terminal { ... }; private ${Symfony\Component\Console\Application}:defaultCommand = 'list'; private ${Symfony\Component\Console\Application}:singleCommand = NULL }; private ${Symfony\Component\Console\Command\Command}:name = 'run'; private ${Symfony\Component\Console\Command\Command}:processTitle = NULL; private ${Symfony\Component\Console\Command\Command}:aliases = array (); private ${Symfony\Component\Console\Command\Command}:definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = array (...); private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = array (...); private $shortcuts = array (...) }; private ${Symfony\Component\Console\Command\Command}:hidden = FALSE; private ${Symfony\Component\Console\Command\Command}:help = NULL; private ${Symfony\Component\Console\Command\Command}:description = NULL; private ${Symfony\Component\Console\Command\Command}:ignoreValidationErrors = FALSE; private ${Symfony\Component\Console\Command\Command}:applicationDefinitionMerged = TRUE; private ${Symfony\Component\Console\Command\Command}:applicationDefinitionMergedWithArgs = TRUE; private ${Symfony\Component\Console\Command\Command}:code = NULL; private ${Symfony\Component\Console\Command\Command}:synopsis = array ('short' => 'run [options] [--] [<suite>] [<test>]', 'long' => 'run [-o|--override OVERRIDE] [-e|--ext EXT] [--report] [--html [HTML]] [--xml [XML]] [--tap [TAP]] [--json [JSON]] [--colors] [--no-colors] [--silent] [--steps] [-d|--debug] [--coverage [COVERAGE]] [--coverage-html [COVERAGE-HTML]] [--coverage-xml [COVERAGE-XML]] [--coverage-text [COVERAGE-TEXT]] [--coverage-crap4j [COVERAGE-CRAP4J]] [--no-exit] [-g|--group GROUP] [-s|--skip SKIP] [-x|--skip-group SKIP-GROUP] [--env ENV] [-f|--fail-fast] [--no-rebuild] [--] [<suite>] [<test>]'); private ${Symfony\Component\Console\Command\Command}:usages = array (); private ${Symfony\Component\Console\Command\Command}:helperSet = class Symfony\Component\Console\Helper\HelperSet { private $helpers = array (...); private $command = NULL } }, $input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = array (0 => 'run', 1 => '--report', 2 => '-o', 3 => 'reporters: report: PhpStorm_Codeception_ReportPrinter', 4 => '--no-ansi', 5 => '--no-interaction', 6 => 'frontend/tests/acceptance/HomeCest.php'); private $parsed = array (); protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = array (...); private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = array (...); private $shortcuts = array (...) }; protected $stream = NULL; protected $options = array ('report' => TRUE, 'override' => array (...), 'no-ansi' => TRUE, 'no-interaction' => TRUE); protected $arguments = array ('command' => 'run', 'suite' => 'frontend/tests/acceptance/HomeCest.php'); protected $interactive = FALSE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(152) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}:stream = resource(146) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = array (...); private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /home/mark/Sources/advancedapp/vendor/symfony/console/Application.php:228

    0.5433    5279320   6. Symfony\Component\Console\Command\Command->run($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = array (0 => 'run', 1 => '--report', 2 => '-o', 3 => 'reporters: report: PhpStorm_Codeception_ReportPrinter', 4 => '--no-ansi', 5 => '--no-interaction', 6 => 'frontend/tests/acceptance/HomeCest.php'); private $parsed = array (); protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = array (...); private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = array (...); private $shortcuts = array (...) }; protected $stream = NULL; protected $options = array ('report' => TRUE, 'override' => array (...), 'no-ansi' => TRUE, 'no-interaction' => TRUE); protected $arguments = array ('command' => 'run', 'suite' => 'frontend/tests/acceptance/HomeCest.php'); protected $interactive = FALSE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(152) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}:stream = resource(146) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = array (...); private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /home/mark/Sources/advancedapp/vendor/symfony/console/Application.php:874

    0.5455    5282760   7. Codeception\Command\Run->execute($input = class Symfony\Component\Console\Input\ArgvInput { private $tokens = array (0 => 'run', 1 => '--report', 2 => '-o', 3 => 'reporters: report: PhpStorm_Codeception_ReportPrinter', 4 => '--no-ansi', 5 => '--no-interaction', 6 => 'frontend/tests/acceptance/HomeCest.php'); private $parsed = array (); protected $definition = class Symfony\Component\Console\Input\InputDefinition { private $arguments = array (...); private $requiredCount = 1; private $hasAnArrayArgument = FALSE; private $hasOptional = TRUE; private $options = array (...); private $shortcuts = array (...) }; protected $stream = NULL; protected $options = array ('report' => TRUE, 'override' => array (...), 'no-ansi' => TRUE, 'no-interaction' => TRUE); protected $arguments = array ('command' => 'run', 'suite' => 'frontend/tests/acceptance/HomeCest.php'); protected $interactive = FALSE }, $output = class Symfony\Component\Console\Output\ConsoleOutput { private $stderr = class Symfony\Component\Console\Output\StreamOutput { private $stream = resource(152) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { ... } }; private ${Symfony\Component\Console\Output\StreamOutput}:stream = resource(146) of type (stream); private ${Symfony\Component\Console\Output\Output}:verbosity = 32; private ${Symfony\Component\Console\Output\Output}:formatter = class Symfony\Component\Console\Formatter\OutputFormatter { private $decorated = FALSE; private $styles = array (...); private $styleStack = class Symfony\Component\Console\Formatter\OutputFormatterStyleStack { ... } } }) /home/mark/Sources/advancedapp/vendor/symfony/console/Command/Command.php:264

    0.7663    6707680   8. Codeception\Codecept->run($suite = 'acceptance', $test = 'HomeCest.php', $config = array ('namespace' => 'frontend\\tests', 'actor' => 'Tester', 'paths' => array ('tests' => 'tests', 'log' => 'tests/_output', 'data' => 'tests/_data', 'helpers' => 'tests/_support', 'output' => 'tests/_output', 'support' => 'tests/_support'), 'settings' => array ('bootstrap' => '_bootstrap.php', 'colors' => TRUE, 'memory_limit' => '1024M', 'strict_xml' => FALSE, 'lint' => TRUE, 'backup_globals' => TRUE, 'log_incomplete_skipped' => FALSE, 'report_useless_tests' => FALSE, 'disallow_test_output' => FALSE, 'be_strict_about_changes_to_global_state' => FALSE), 'modules' => array ('config' => array (...)), 'actor_suffix' => 'Tester', 'include' => array (), 'suites' => array (), 'extensions' => array ('enabled' => array (...), 'config' => array (...), 'commands' => array (...)), 'reporters' => array ('xml' => 'Codeception\\PHPUnit\\Log\\JUnit', 'html' => 'Codeception\\PHPUnit\\ResultPrinter\\HTML', 'tap' => 'PHPUnit_Util_Log_TAP', 'json' => 'PHPUnit_Util_Log_JSON', 'report' => 'Codeception\\PHPUnit\\ResultPrinter\\Report'), 'groups' => array (), 'coverage' => array (), 'params' => array (), 'gherkin' => array ())) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Command/Run.php:341

    0.7890    6712760   9. Codeception\Codecept->runSuite($settings = array ('class_name' => 'AcceptanceTester', 'modules' => array ('enabled' => array (...), 'config' => array (...), 'depends' => array (...)), 'bootstrap' => '_bootstrap.php', 'colors' => TRUE, 'memory_limit' => '1024M', 'strict_xml' => FALSE, 'lint' => TRUE, 'backup_globals' => TRUE, 'log_incomplete_skipped' => FALSE, 'report_useless_tests' => FALSE, 'disallow_test_output' => FALSE, 'be_strict_about_changes_to_global_state' => FALSE, 'coverage' => array (), 'namespace' => 'frontend\\tests', 'groups' => array (), 'gherkin' => array (), 'extensions' => array ('enabled' => array (...), 'config' => array (...), 'commands' => array (...)), 'actor' => 'AcceptanceTester', 'path' => '/home/mark/Sources/advancedapp/frontend/tests/acceptance/', 'shuffle' => FALSE, 'error_level' => 'E_ALL & ~E_STRICT & ~E_DEPRECATED'), $suite = 'acceptance', $test = 'HomeCest.php') /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Codecept.php:157

    0.8792    8449328  10. Codeception\SuiteManager->run($runner = class Codeception\PHPUnit\Runner { protected $defaultListeners = array ('xml' => FALSE, 'html' => FALSE, 'tap' => FALSE, 'json' => FALSE, 'report' => FALSE); protected $config = array ('namespace' => 'frontend\\tests', 'actor' => 'Tester', 'paths' => array (...), 'settings' => array (...), 'modules' => array (...), 'actor_suffix' => 'Tester', 'include' => array (...), 'suites' => array (...), 'extensions' => array (...), 'reporters' => array (...), 'groups' => array (...), 'coverage' => array (...), 'params' => array (...), 'gherkin' => array (...)); protected $logDir = '/home/mark/Sources/advancedapp/frontend/tests/_output/'; protected $codeCoverageFilter = class SebastianBergmann\CodeCoverage\Filter { private $whitelistedFiles = array (...) }; protected $loader = NULL; protected $printer = class Codeception\PHPUnit\ResultPrinter\Report { protected $prettifier = class PHPUnit\Util\TestDox\NamePrettifier { ... }; protected $testClass = ''; protected $testStatus = 0; protected $tests = array (...); protected $successful = 0; protected $warned = 0; protected $failed = 0; protected $risky = 0; protected $skipped = 0; protected $incomplete = 0; protected $currentTestClassPrettified = NULL; protected $currentTestMethodPrettified = NULL; private ${PHPUnit\Util\TestDox\ResultPrinter}:groups = array (...); private ${PHPUnit\Util\TestDox\ResultPrinter}:excludeGroups = array (...); protected $autoFlush = FALSE; protected $out = NULL; protected $outTarget = NULL }; private ${PHPUnit\TextUI\TestRunner}:runtime = class SebastianBergmann\Environment\Runtime {  }; private ${PHPUnit\TextUI\TestRunner}:messagePrinted = FALSE }, $result = class PHPUnit\Framework\TestResult { protected $passed = array (); protected $errors = array (); protected $failures = array (); protected $warnings = array (); protected $notImplemented = array (); protected $risky = array (); protected $skipped = array (); protected $listeners = array (0 => class Codeception\PHPUnit\Listener { ... }, 1 => class Codeception\PHPUnit\ResultPrinter\Report { ... }); protected $runTests = 1; protected $time = 0; protected $topTestSuite = class Codeception\Suite { protected $modules = array (...); protected $baseName = 'acceptance'; private ${PHPUnit\Framework\TestSuite}:cachedNumTests = 1; protected $backupGlobals = TRUE; protected $backupStaticAttributes = NULL; private ${PHPUnit\Framework\TestSuite}:beStrictAboutChangesToGlobalState = FALSE; protected $runTestInSeparateProcess = FALSE; protected $name = 'frontend\\tests.acceptance'; protected $groups = array (...); protected $tests = array (...); protected $numTests = -1; protected $testCase = FALSE; protected $foundClasses = array (...); private ${PHPUnit\Framework\TestSuite}:iteratorFilter = class PHPUnit\Runner\Filter\Factory { ... } }; protected $codeCoverage = NULL; protected $convertErrorsToExceptions = FALSE; protected $stop = FALSE; protected $stopOnError = FALSE; protected $stopOnFailure = FALSE; protected $stopOnWarning = FALSE; protected $beStrictAboutTestsThatDoNotTestAnything = FALSE; protected $beStrictAboutOutputDuringTests = FALSE; protected $beStrictAboutTodoAnnotatedTests = FALSE; protected $beStrictAboutResourceUsageDuringSmallTests = FALSE; protected $enforceTimeLimit = FALSE; protected $timeoutForSmallTests = 1; protected $timeoutForMediumTests = 10; protected $timeoutForLargeTests = 60; protected $stopOnRisky = FALSE; protected $stopOnIncomplete = FALSE; protected $stopOnSkipped = FALSE; protected $lastTestFailed = FALSE; private $registerMockObjectsFromTestArgumentsRecursively = FALSE }, $options = array ('silent' => TRUE, 'debug' => FALSE, 'steps' => FALSE, 'html' => FALSE, 'xml' => FALSE, 'json' => FALSE, 'tap' => FALSE, 'report' => TRUE, 'colors' => FALSE, 'coverage' => FALSE, 'coverage-xml' => FALSE, 'coverage-html' => FALSE, 'coverage-text' => FALSE, 'coverage-crap4j' => FALSE, 'groups' => array (), 'excludeGroups' => array (), 'filter' => FALSE, 'env' => NULL, 'fail-fast' => FALSE, 'ansi' => FALSE, 'verbosity' => 32, 'interactive' => FALSE, 'no-rebuild' => FALSE, 'quiet' => FALSE, 'bootstrap' => '_bootstrap.php', 'memory_limit' => '1024M', 'strict_xml' => FALSE, 'lint' => TRUE, 'backup_globals' => TRUE, 'log_incomplete_skipped' => FALSE, 'report_useless_tests' => FALSE, 'disallow_test_output' => FALSE, 'be_strict_about_changes_to_global_state' => FALSE, 'override' => array (0 => 'reporters: report: PhpStorm_Codeception_ReportPrinter'), 'no-ansi' => TRUE, 'no-interaction' => TRUE, 'listeners' => array (), 'addUncoveredFilesFromWhitelist' => TRUE, 'backupGlobals' => NULL, 'backupStaticAttributes' => NULL, 'beStrictAboutChangesToGlobalState' => NULL, 'beStrictAboutResourceUsageDuringSmallTests' => FALSE, 'cacheTokens' => FALSE, 'columns' => 80, 'convertDeprecationsToExceptions' => TRUE, 'convertErrorsToExceptions' => TRUE, 'convertNoticesToExceptions' => TRUE, 'convertWarningsToExceptions' => TRUE, 'crap4jThreshold' => 30, 'disallowTestOutput' => FALSE, 'disallowTodoAnnotatedTests' => FALSE, 'enforceTimeLimit' => FALSE, 'failOnRisky' => FALSE, 'failOnWarning' => FALSE, 'processIsolation' => FALSE, 'processUncoveredFilesFromWhitelist' => FALSE, 'registerMockObjectsFromTestArgumentsRecursively' => FALSE, 'repeat' => FALSE, 'reportHighLowerBound' => 90, 'reportLowUpperBound' => 50, 'reportUselessTests' => TRUE, 'reverseList' => FALSE, 'stopOnError' => FALSE, 'stopOnFailure' => FALSE, 'stopOnIncomplete' => FALSE, 'stopOnRisky' => FALSE, 'stopOnSkipped' => FALSE, 'stopOnWarning' => FALSE, 'strictCoverage' => FALSE, 'testdoxExcludeGroups' => array (), 'testdoxGroups' => array (), 'timeoutForLargeTests' => 60, 'timeoutForMediumTests' => 10, 'timeoutForSmallTests' => 1, 'verbose' => FALSE)) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Codecept.php:188

    0.8815    8466656  11. Codeception\PHPUnit\Runner->doEnhancedRun($suite = class Codeception\Suite { protected $modules = array ('WebDriver' => class Codeception\Module\WebDriver { ... }, 'Yii2' => class Codeception\Module\Yii2 { ... }); protected $baseName = 'acceptance'; private ${PHPUnit\Framework\TestSuite}:cachedNumTests = 1; protected $backupGlobals = TRUE; protected $backupStaticAttributes = NULL; private ${PHPUnit\Framework\TestSuite}:beStrictAboutChangesToGlobalState = FALSE; protected $runTestInSeparateProcess = FALSE; protected $name = 'frontend\\tests.acceptance'; protected $groups = array ('default' => array (...)); protected $tests = array (0 => class Codeception\Test\Cest { ... }); protected $numTests = -1; protected $testCase = FALSE; protected $foundClasses = array (); private ${PHPUnit\Framework\TestSuite}:iteratorFilter = class PHPUnit\Runner\Filter\Factory { private $filters = array (...) } }, $result = class PHPUnit\Framework\TestResult { protected $passed = array (); protected $errors = array (); protected $failures = array (); protected $warnings = array (); protected $notImplemented = array (); protected $risky = array (); protected $skipped = array (); protected $listeners = array (0 => class Codeception\PHPUnit\Listener { ... }, 1 => class Codeception\PHPUnit\ResultPrinter\Report { ... }); protected $runTests = 1; protected $time = 0; protected $topTestSuite = class Codeception\Suite { protected $modules = array (...); protected $baseName = 'acceptance'; private ${PHPUnit\Framework\TestSuite}:cachedNumTests = 1; protected $backupGlobals = TRUE; protected $backupStaticAttributes = NULL; private ${PHPUnit\Framework\TestSuite}:beStrictAboutChangesToGlobalState = FALSE; protected $runTestInSeparateProcess = FALSE; protected $name = 'frontend\\tests.acceptance'; protected $groups = array (...); protected $tests = array (...); protected $numTests = -1; protected $testCase = FALSE; protected $foundClasses = array (...); private ${PHPUnit\Framework\TestSuite}:iteratorFilter = class PHPUnit\Runner\Filter\Factory { ... } }; protected $codeCoverage = NULL; protected $convertErrorsToExceptions = FALSE; protected $stop = FALSE; protected $stopOnError = FALSE; protected $stopOnFailure = FALSE; protected $stopOnWarning = FALSE; protected $beStrictAboutTestsThatDoNotTestAnything = FALSE; protected $beStrictAboutOutputDuringTests = FALSE; protected $beStrictAboutTodoAnnotatedTests = FALSE; protected $beStrictAboutResourceUsageDuringSmallTests = FALSE; protected $enforceTimeLimit = FALSE; protected $timeoutForSmallTests = 1; protected $timeoutForMediumTests = 10; protected $timeoutForLargeTests = 60; protected $stopOnRisky = FALSE; protected $stopOnIncomplete = FALSE; protected $stopOnSkipped = FALSE; protected $lastTestFailed = FALSE; private $registerMockObjectsFromTestArgumentsRecursively = FALSE }, $arguments = array ('silent' => TRUE, 'debug' => FALSE, 'steps' => FALSE, 'html' => FALSE, 'xml' => FALSE, 'json' => FALSE, 'tap' => FALSE, 'report' => TRUE, 'colors' => FALSE, 'coverage' => FALSE, 'coverage-xml' => FALSE, 'coverage-html' => FALSE, 'coverage-text' => FALSE, 'coverage-crap4j' => FALSE, 'groups' => array (), 'excludeGroups' => array (), 'filter' => FALSE, 'env' => NULL, 'fail-fast' => FALSE, 'ansi' => FALSE, 'verbosity' => 32, 'interactive' => FALSE, 'no-rebuild' => FALSE, 'quiet' => FALSE, 'bootstrap' => '_bootstrap.php', 'memory_limit' => '1024M', 'strict_xml' => FALSE, 'lint' => TRUE, 'backup_globals' => TRUE, 'log_incomplete_skipped' => FALSE, 'report_useless_tests' => FALSE, 'disallow_test_output' => FALSE, 'be_strict_about_changes_to_global_state' => FALSE, 'override' => array (0 => 'reporters: report: PhpStorm_Codeception_ReportPrinter'), 'no-ansi' => TRUE, 'no-interaction' => TRUE, 'listeners' => array (0 => class Codeception\PHPUnit\ResultPrinter\Report { ... }), 'addUncoveredFilesFromWhitelist' => TRUE, 'backupGlobals' => NULL, 'backupStaticAttributes' => NULL, 'beStrictAboutChangesToGlobalState' => NULL, 'beStrictAboutResourceUsageDuringSmallTests' => FALSE, 'cacheTokens' => FALSE, 'columns' => 80, 'convertDeprecationsToExceptions' => TRUE, 'convertErrorsToExceptions' => TRUE, 'convertNoticesToExceptions' => TRUE, 'convertWarningsToExceptions' => TRUE, 'crap4jThreshold' => 30, 'disallowTestOutput' => FALSE, 'disallowTodoAnnotatedTests' => FALSE, 'enforceTimeLimit' => FALSE, 'failOnRisky' => FALSE, 'failOnWarning' => FALSE, 'processIsolation' => FALSE, 'processUncoveredFilesFromWhitelist' => FALSE, 'registerMockObjectsFromTestArgumentsRecursively' => FALSE, 'repeat' => FALSE, 'reportHighLowerBound' => 90, 'reportLowUpperBound' => 50, 'reportUselessTests' => TRUE, 'reverseList' => FALSE, 'stopOnError' => FALSE, 'stopOnFailure' => FALSE, 'stopOnIncomplete' => FALSE, 'stopOnRisky' => FALSE, 'stopOnSkipped' => FALSE, 'stopOnWarning' => FALSE, 'strictCoverage' => FALSE, 'testdoxExcludeGroups' => array (), 'testdoxGroups' => array (), 'timeoutForLargeTests' => 60, 'timeoutForMediumTests' => 10, 'timeoutForSmallTests' => 1, 'verbose' => FALSE)) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/SuiteManager.php:157

    0.8896    8578152  12. PHPUnit\Framework\TestSuite->run($result = class PHPUnit\Framework\TestResult { protected $passed = array (); protected $errors = array (); protected $failures = array (); protected $warnings = array (); protected $notImplemented = array (); protected $risky = array (); protected $skipped = array (); protected $listeners = array (0 => class Codeception\PHPUnit\Listener { ... }, 1 => class Codeception\PHPUnit\ResultPrinter\Report { ... }); protected $runTests = 1; protected $time = 0; protected $topTestSuite = class Codeception\Suite { protected $modules = array (...); protected $baseName = 'acceptance'; private ${PHPUnit\Framework\TestSuite}:cachedNumTests = 1; protected $backupGlobals = TRUE; protected $backupStaticAttributes = NULL; private ${PHPUnit\Framework\TestSuite}:beStrictAboutChangesToGlobalState = FALSE; protected $runTestInSeparateProcess = FALSE; protected $name = 'frontend\\tests.acceptance'; protected $groups = array (...); protected $tests = array (...); protected $numTests = -1; protected $testCase = FALSE; protected $foundClasses = array (...); private ${PHPUnit\Framework\TestSuite}:iteratorFilter = class PHPUnit\Runner\Filter\Factory { ... } }; protected $codeCoverage = NULL; protected $convertErrorsToExceptions = FALSE; protected $stop = FALSE; protected $stopOnError = FALSE; protected $stopOnFailure = FALSE; protected $stopOnWarning = FALSE; protected $beStrictAboutTestsThatDoNotTestAnything = FALSE; protected $beStrictAboutOutputDuringTests = FALSE; protected $beStrictAboutTodoAnnotatedTests = FALSE; protected $beStrictAboutResourceUsageDuringSmallTests = FALSE; protected $enforceTimeLimit = FALSE; protected $timeoutForSmallTests = 1; protected $timeoutForMediumTests = 10; protected $timeoutForLargeTests = 60; protected $stopOnRisky = FALSE; protected $stopOnIncomplete = FALSE; protected $stopOnSkipped = FALSE; protected $lastTestFailed = FALSE; private $registerMockObjectsFromTestArgumentsRecursively = FALSE }) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/PHPUnit/Runner.php:106

    0.8898    8578720  13. Codeception\Test\Test->run($result = class PHPUnit\Framework\TestResult { protected $passed = array (); protected $errors = array (); protected $failures = array (); protected $warnings = array (); protected $notImplemented = array (); protected $risky = array (); protected $skipped = array (); protected $listeners = array (0 => class Codeception\PHPUnit\Listener { ... }, 1 => class Codeception\PHPUnit\ResultPrinter\Report { ... }); protected $runTests = 1; protected $time = 0; protected $topTestSuite = class Codeception\Suite { protected $modules = array (...); protected $baseName = 'acceptance'; private ${PHPUnit\Framework\TestSuite}:cachedNumTests = 1; protected $backupGlobals = TRUE; protected $backupStaticAttributes = NULL; private ${PHPUnit\Framework\TestSuite}:beStrictAboutChangesToGlobalState = FALSE; protected $runTestInSeparateProcess = FALSE; protected $name = 'frontend\\tests.acceptance'; protected $groups = array (...); protected $tests = array (...); protected $numTests = -1; protected $testCase = FALSE; protected $foundClasses = array (...); private ${PHPUnit\Framework\TestSuite}:iteratorFilter = class PHPUnit\Runner\Filter\Factory { ... } }; protected $codeCoverage = NULL; protected $convertErrorsToExceptions = FALSE; protected $stop = FALSE; protected $stopOnError = FALSE; protected $stopOnFailure = FALSE; protected $stopOnWarning = FALSE; protected $beStrictAboutTestsThatDoNotTestAnything = FALSE; protected $beStrictAboutOutputDuringTests = FALSE; protected $beStrictAboutTodoAnnotatedTests = FALSE; protected $beStrictAboutResourceUsageDuringSmallTests = FALSE; protected $enforceTimeLimit = FALSE; protected $timeoutForSmallTests = 1; protected $timeoutForMediumTests = 10; protected $timeoutForLargeTests = 60; protected $stopOnRisky = FALSE; protected $stopOnIncomplete = FALSE; protected $stopOnSkipped = FALSE; protected $lastTestFailed = FALSE; private $registerMockObjectsFromTestArgumentsRecursively = FALSE }) /home/mark/Sources/advancedapp/vendor/phpunit/phpunit/src/Framework/TestSuite.php:744

    6.4380   10541040  14. Codeception\Test\Cest->test() /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Test/Test.php:87

    6.4380   10541120  15. Codeception\Test\Cest->executeTestMethod($I = class frontend\tests\AcceptanceTester { protected $scenario = class Codeception\Scenario { protected $test = class Codeception\Test\Cest { ... }; protected $metadata = class Codeception\Test\Metadata { ... }; protected $steps = array (...); protected $feature = NULL; protected $metaStep = NULL }; protected $friends = array () }) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Test/Cest.php:82

    6.4380   10541496  16. Codeception\Test\Cest->invoke($methodName = 'checkHome', $context = array (0 => class frontend\tests\AcceptanceTester { protected $scenario = class Codeception\Scenario { ... }; protected $friends = array (...) }, 1 => class Codeception\Scenario { protected $test = class Codeception\Test\Cest { ... }; protected $metadata = class Codeception\Test\Metadata { ... }; protected $steps = array (...); protected $feature = NULL; protected $metaStep = NULL })) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Test/Cest.php:148

    6.4381   10541872  17. Codeception\Lib\Di->injectDependencies($object = class frontend\tests\acceptance\HomeCest {  }, $injectMethodName = 'checkHome', $defaults = array (0 => class frontend\tests\AcceptanceTester { protected $scenario = class Codeception\Scenario { ... }; protected $friends = array (...) }, 1 => class Codeception\Scenario { protected $test = class Codeception\Test\Cest { ... }; protected $metadata = class Codeception\Test\Metadata { ... }; protected $steps = array (...); protected $feature = NULL; protected $metaStep = NULL })) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Test/Cest.php:136

    6.4381   10542488  18. ReflectionMethod->invokeArgs(class frontend\tests\acceptance\HomeCest {  }, array (0 => class frontend\tests\AcceptanceTester { protected $scenario = class Codeception\Scenario { ... }; protected $friends = array (...) })) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Lib/Di.php:127

    6.4381   10542504  19. frontend\tests\acceptance\HomeCest->checkHome($I = class frontend\tests\AcceptanceTester { protected $scenario = class Codeception\Scenario { protected $test = class Codeception\Test\Cest { ... }; protected $metadata = class Codeception\Test\Metadata { ... }; protected $steps = array (...); protected $feature = NULL; protected $metaStep = NULL }; protected $friends = array () }) /home/mark/Sources/advancedapp/vendor/codeception/codeception/src/Codeception/Lib/Di.php:127

   11.8070   10834536  20. frontend\tests\AcceptanceTester->see($text = 'My Company', $selector = <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />) /home/mark/Sources/advancedapp/frontend/tests/acceptance/HomeCest.php:12

   11.8079   10837792  21. Codeception\Scenario->runStep($step = class Codeception\Step\Assertion { protected $action = 'see'; protected $arguments = array (0 => 'My Company'); protected $debugOutput = NULL; public $executed = TRUE; protected $line = 12; protected $file = '/home/mark/Sources/advancedapp/frontend/tests/acceptance/HomeCest.php'; protected $prefix = 'I'; protected $metaStep = NULL; protected $failed = TRUE }) /home/mark/Sources/advancedapp/frontend/tests/_support/_generated/AcceptanceTesterActions.php:363




Variables in local scope (#21):

  $e = class yii\base\ErrorException { protected $message = 'Undefined index: ELEMENT'; private ${Exception}:string = ''; protected $code = 8; protected $file = '/home/mark/Sources/advancedapp/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php'; protected $line = 198; private ${Exception}:trace = array (0 => array (...), 1 => array (...), 2 => array (...), 3 => array (...), 4 => array (...), 5 => array (...), 6 => array (...), 7 => array (...), 8 => array (...), 9 => array (...), 10 => array (...), 11 => array (...), 12 => array (...), 13 => array (...), 14 => array (...), 15 => array (...), 16 => array (...), 17 => array (...), 18 => array (...), 19 => array (...), 20 => array (...), 21 => array (...), 22 => array (...), 23 => array (...), 24 => array (...)); private ${Exception}:previous = NULL; protected $severity = 8; public $xdebug_message = '\nyii\\base\\ErrorException: Undefined index: ELEMENT in /home/mark/Sources/advancedapp/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php on line 198\n\nCall Stack:\n    0.1023     464800   1. {main}() /tmp/ide-codeception.php:0\n    0.4205    5028496   2. Codeception\\Application->run($input = <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />, $output = <img src='http://www.yiiframework.com/forum/public/style_emoticons/default/huh.gif' class='bbc_emoticon' alt='???' />) /tmp/ide-codeception.php:495\n    0.4278    5128376   3. Symfony\\Component\\Console\\Application->run($input = class Symfony\\Component\\Console\\Input\\ArgvInput { private $tokens = array (...' }

  $f = *uninitialized*

  $result = NULL

  $step = class Codeception\Step\Assertion { protected $action = 'see'; protected $arguments = array (0 => 'My Company'); protected $debugOutput = NULL; public $executed = TRUE; protected $line = 12; protected $file = '/home/mark/Sources/advancedapp/frontend/tests/acceptance/HomeCest.php'; protected $prefix = 'I'; protected $metaStep = NULL; protected $failed = TRUE }



So, I swapped from geckodriver to chromdriver, and now it’s all working fine… not sure about this, but hey, happy now. :)

You have stumbled upon a bug - as have I - unfortunately:

Looks like the Mozilla thing still isn’t ready for prime time, which is too bad, because I personally do not like to install Chrome/Chromium at all.

I probably will - because I must … ;)