cakephp4测试标题长度

blmhpbnm  于 2022-11-12  发布在  PHP
关注(0)|答案(1)|浏览(150)

我需要在集成测试中测试页面标题的长度。我有一个解决方案,但我想知道是否有更好的解决方案。
我的解决办法是:

$response = $this->get('/faqs/index');
    $this->assertResponseOk();

    $body=$this->_getBodyAsString();
    preg_match('@<title>(.*)</title>@i',$body,$matches);
    $this->assertTrue(strlen($matches[1])>10);
sg24os4d

sg24os4d1#

避免使用正则表达式解析标记,最好使用Xpath查询:

$dom = new DOMDocument();
$dom->loadHTML($body);
$xpath = new DOMXPath($dom);
$elements = $xpath->query("//title");
$title = $elements->item(0)->nodeValue;

通过这种简单的方法,您可以获得标题,然后Assert长度。

相关问题