/ / WebTestCase: Verwenden Sie den Crawler, um eine Zeichenfolge zu testen - PHP, Testing, Symfony, Funktionstest, Web-Crawler

WebTestCase: Benutze den Crawler, um eine Zeichenkette zu testen - PHP, Testing, Symfony, Funktionstest, Web-Crawler

Gibt es eine Möglichkeit, den WebTestCase-Crawler für eine Zeichenfolge zu verwenden? Normalerweise, wenn ich einen Test mit WebTestCase durchführen möchte, würde ich Folgendes mit Client tun:

public function testInitialPage()
{
$client = $this->createClient();
$crawler = $client->request("GET", "/");

$this->assertCount(1, $crawler->filter("h1:contains("Contact us")"));
...
}

Nun möchte ich wissen, ob es möglich ist, den Crawler auf einer Zeichenfolge zu verwenden.

public function testInitialPage()
{
...
$crawler = Crawler::createCrawler("<h1>Contact us</h1>");
$this->assertCount(1, $crawler->filter("h1:contains("Contact us")"));
...
}

Vielen Dank!

Antworten:

0 für die Antwort № 1

Wenn Sie die Crawler-Klasse aus dem importieren DomCrawler Komponente können Sie es in Ihrem Test verwenden.

namespace AcmeTests;

//...
use SymfonyComponentDomCrawlerCrawler;

class ContactTest extends WebTestCase
{
public function testHeadlineOnContactUs()
{
$crawler = new Crawler("<h1>Contact us</h1>");
$this->assertCount(1, $crawler->filter("h1:contains("Contact us")"));
}
}