我正在尝试在Behat测试中声明页面标题,但出现异常。
在我的FeatureContext.php
中,这是我用来测试标题的代码(courtesy of this SO answer)
/**
* @Given /^the page title should be "([^"]*)"$/
*/
public function thePageTitleShouldBe($expectedTitle)
{
$titleElement = $this->getSession()->getPage()->find('css', 'head title');
if ($titleElement === null) {
throw new Exception('Page title element was not found!');
} else {
$title = $titleElement->getText();
if ($expectedTitle !== $title) {
throw new Exception("Incorrect title! Expected:$expectedTitle | Actual:$title ");
}
}
}
HTML标题如下:
<title>これはタイトル「名前」 | サイト名</title>
唯一的例外是:
Incorrect title! Expected:これはタイトル「名前」 | サイト名| Actual: (Exception)
我认为这可能与unicode有关,因此我将页面的标题更改为“ title”,但仍然出现异常。
如何进一步调试?在$titleElement
中找到了标题,但随后->getText()
却以某种方式导致异常。