request('GET', '/demo/'); // Wait for Debugbar to load $crawler = $client->waitFor('.phpdebugbar-body'); usleep(1000); if (!$this->isTabActive($crawler, 'messages')) { $client->click($this->getTabLink($crawler, 'messages')); } $crawler = $client->waitForVisibility('.phpdebugbar-panel[data-collector=messages] .phpdebugbar-widgets-list'); $messages = $crawler->filter('.phpdebugbar-panel[data-collector=messages] .phpdebugbar-widgets-value') ->each(function(WebDriverElement $node){ return $node->getText(); }); $this->assertEquals('hello', $messages[0]); $this->assertCount(4, $messages); // Close it again $client->click($this->getTabLink($crawler, 'messages')); $client->waitForInvisibility('.phpdebugbar-panel[data-collector=messages] .phpdebugbar-widgets-list'); } public function testDebugbarAjax(): void { $client = static::createPantherClient(); $crawler = $client->request('GET', '/demo/'); // Wait for Debugbar to load $crawler = $client->waitFor('.phpdebugbar-body'); usleep(1000); if (!$this->isTabActive($crawler, 'messages')) { $client->click($this->getTabLink($crawler, 'messages')); } $crawler = $client->waitForVisibility('.phpdebugbar-widgets-messages .phpdebugbar-widgets-list'); $crawler->selectLink('load ajax content')->click(); $client->waitForElementToContain('.phpdebugbar-panel[data-collector=messages]', 'hello from ajax'); $client->waitForElementToContain('.phpdebugbar-datasets-switcher', 'ajax.php'); $messages = $crawler->filter('.phpdebugbar-panel[data-collector=messages] .phpdebugbar-widgets-value') ->each(function(WebDriverElement $node){ return $node->getText(); }); $this->assertEquals('hello from ajax', $messages[0]); $crawler->selectLink('load ajax content with exception')->click(); $client->click($this->getTabLink($crawler, 'exceptions')); $client->waitForElementToContain('.phpdebugbar-datasets-switcher', 'ajax_exception.php'); $client->waitForElementToContain('.phpdebugbar-panel[data-collector=exceptions] .phpdebugbar-widgets-message', 'Something failed!'); // Open network tab $client->click($this->getTabLink($crawler, '__datasets')); $client->waitForVisibility('.phpdebugbar-panel[data-collector=__datasets] .phpdebugbar-widgets-table-row'); $requests = $crawler->filter('.phpdebugbar-panel[data-collector=__datasets] .phpdebugbar-widgets-table-row') ->each(function(WebDriverElement $node){ return $node->getText(); }); $this->assertStringContainsString('GET /demo/', $requests[0]); $this->assertStringContainsString('GET /demo/ajax.php (ajax)', $requests[1]); $this->assertStringContainsString('GET /demo/ajax_exception.php (ajax)', $requests[2]); } }