我需要爲我的測試聲明一個頁面標題,這是使用Behat + Mink的標籤/窗口標題
我試過getWindowName()但意識到不是我正在尋找的功能。如何在Behat + Mink中斷言頁面/標籤/窗口標題
0
A
回答
2
您應該使用css定期查找標題標記並使用getText()來獲取標題。
CSS的應該是:「頭題」
您的解決方案几乎是好的,你需要注意的可能是個例外,尤其是致命的,如果遇到可以阻止您的套房。
例如find()
方法會返回一個對象或null
,如果返回null
和你在予以使用getText()
它會導致致命異常和您的套房將停止。
略有改善方法:
/**
* @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 ");
}
}
}
改進:
- 處理可能致命異常
- 拋出異常,如果沒有找到元素
- 拋出異常與細節,如果標題不匹配
請注意,您也可以使用其他方法來檢查標題,如:stripos
,strpos
或簡單地比較字符串,就像我一樣。我更喜歡簡單的比較,如果我需要確切的文本或strpos/stripos方法的個人,避免定期異常和像preg_match相關的方法,通常會慢一點。
你可以做的一個主要改進是有一個等待元素併爲你處理異常的方法,並用它來代替簡單的查找,當你需要根據元素的存在性來決定時,可以使用它像︰如果存在的元素做這個別的..
0
謝謝勞達。是的,這確實有效。寫下以下功能:
/**
* @Given /^the page title should be "([^"]*)"$/
*/
public function thePageTitleShouldBe($arg1)
{
$actTitle = $this->getSession()->getPage()->find('css','head title')->getText();
if (!preg_match($arg1, $actTitle)) {
throw new Exception ('Incorrect title');
}
}
相關問題
- 1. 如何在新標籤頁/窗口中打開ASP頁面?
- 2. 如何讓Behat/Mink將鼠標懸停在網頁上的某個元素上?
- 3. 如何更改Zen Cart圖像窗口中的頁面標題?
- 4. Behat + Mink + Selenium安裝
- 5. 如何設置標題標籤的在合金鈦窗口
- 6. 如何在點擊標籤頁時更改頁面標題?
- 7. OrchardCMS,如何將HTML標題標籤設置爲頁面標題
- 8. 如何使用behat檢查標題標籤的內容?
- 9. 在X11中,如何在創建窗口標題之前設置窗口標題?
- 10. behat/mink打開窗口並截取它的屏幕截圖
- 11. 如何在子窗口中獲取父窗口標籤的html?
- 12. Sharepoint鏈接 - 如何在新標籤頁/窗口中打開
- 13. 如何更改標籤頁面的標題,當我激活其他標籤頁
- 14. 如何使用Selenium Java在兩個瀏覽器標籤頁/窗口之間獲得活動窗口標題
- 15. 打開一個新頁面:新窗口與新標籤頁
- 16. 如何使用PHP behat/mink selenium2 chrome webdriver
- 17. Behat/Mink:我如何評估xml響應
- 18. 我如何使用Behat和Mink和WebApiContext?
- 19. Symfony2 + Behat + Mink:我應該如何重構?
- 20. 目標_blank不在新標籤頁/窗口中打開
- 21. 如何在新窗口或標籤中使返回的modeland查看頁面(jsp)?
- 22. 標籤導航標題中的窗口:問題
- 23. C#Webdriver - 在頁面加載之前,頁面標題斷言失敗
- 24. 如何更改標籤面板標題(標題)和麪板標題在extjs4
- 25. 在窗口標題中更改光標
- 26. 在新標籤/窗口
- 27. Meta Box,WordPress和新標籤頁/窗口
- 28. 無法使用Selenium 3.5.x查找Behat/Mink的頁面元素
- 29. 標籤面板中的標籤頁
- 30. 在新標籤頁/窗口中打開JavaScript書籤嗎?