テスト用のページタイトルをBehat + Minkを使用してタブ/ウィンドウタイトルにアサートする必要があります。
getWindowName()を試しましたが、私が探している機能Behat + Minkのページ/タブ/ウィンドウタイトルをアサートする方法
0
A
答えて
2
titleタグには通常のfindを使用し、getText()を使用してタイトルを取得する必要があります。
CSSは次のようになります。「頭のタイトル」
あなたの解決策は、ほぼ大丈夫です、あなたは、可能な例外の発生した場合、あなたのスイートを停止することができ、特に致命的なものを見てする必要があります。 null
は、それが致命的な例外になりますし、あなたのスイートは停止します返され、あなたがそれにgetText()
を使用している場合は
例えばfind()
方法は、オブジェクトまたはnull
を返します。
若干改善方法:
/**
* @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
などと比較するか、単純に私のように文字列を比較してください。私はPHPや私は個人的には、通常の例外やpreg_matchのような関連するメソッドを避けるために、私は正確なテキストやstrpos/striposメソッドを必要とする場合、私は単純な比較を好む。
あなたが行うことができる主な改善点は、要素を待って例外を処理し、単純な検索ではなく要素の存在に基づいて判断する必要があるときに使用できる方法を見つけることですlike:if要素が存在する場合は、これを実行します。
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. Mink/behatファイル添付
- 2. behat + minkのonClick属性にアクセスする方法は?
- 3. behat/minkで兄弟要素を見つける方法は?
- 4. checkField()はbehat minkをチェックしません
- 5. MinkとBehat:バックグラウンドでセレン(Chrome)を起動する方法はありますか?
- 6. Symfony 2でBehatとMinkを使ってREST APIをテストする方法
- 7. behat mink extentionを使って無効な属性をチェックする方法は?
- 8. Behat/Minkの入力タイプのファイル名を取得する
- 9. Minkでbehat.ymlのdesiredCapabilitiesを正しく設定する方法
- 10. Behat + mink + Selenium2現在のブラウザ名を取得
- 11. FeatureContextのUbuntuでのBehat 3およびMink Extensionのエラー
- 12. Windows下でMink/Behat用ZombieDriverをインストールしてください
- 13. Behat&Mink:テスト環境を使用してください。
- 14. リンクに従うことができません| Behat/Mink
- 15. Behat/Minkテストが失敗したときにブラウザを開いたままにする方法
- 16. behat + minkでより間隔の広い文字列をクリックできない
- 17. エリクサーメッセージをアサートする方法
- 18. BehatでURLを生成する方法
- 19. behold minkはdropdown-> selectOptionByText()のですか?
- 20. Behat&Mink - クラスに関連付けられたリンクが見つかりません
- 21. Behat Minkファイルアップロード時にファイルが見つかりませんでした。
- 22. 新しいタブを検出するには、behatとminkで開いてください。PHP
- 23. NUnitでDataTableをアサートする方法は?
- 24. pytestを非テストモジュールでアサートする方法
- 25. Behatエラー - ステップは、すでにここで
- 26. SoapUI-応答からアサートする方法
- 27. Behat Gherkin:シナリオ概要のタイトルを取得する方法
- 28. BehatでHTMLフォーマッタのカスタムテンプレートを設定する方法
- 29. Behat Drupal:%paths.base%
- 30. JustMock:方法をアサートする方法<T>(アクション<T>)