Selenium IDE を使用していくつかのシナリオを記録しており、特定のテキストがページに存在するかどうかを確認したいと考えていました。コマンド「VerifyTextPresent」を挿入しました。ただし、特定のテキストが存在しない場合でも、結果は常に true として返されます。
考えられる理由は何ですか?何かを変更する必要がありますか?
Selenium IDE を使用していくつかのシナリオを記録しており、特定のテキストがページに存在するかどうかを確認したいと考えていました。コマンド「VerifyTextPresent」を挿入しました。ただし、特定のテキストが存在しない場合でも、結果は常に true として返されます。
考えられる理由は何ですか?何かを変更する必要がありますか?
ソースコードを見ると、検索しているテキストを間違ったフィールドに入力しているように見えます。
verifyTextPresent
(そしてassert ...)にはverifyText
、ターゲットを必要とするものとは異なり、2つのパラメーターしかありません。
verifyText
検索するテキスト要素とは異なり、「値」ではなく「ターゲット」の2番目のフィールドに入力する必要があります。
したがって、コードは次のようになります
<tr>
<td>verifyTextPresent</td>
<td>XYZ</td>
<td></td></tr>
Seleniumを学習するときに、フィールド名が誤解を招くのと同じ間違いをしました。
Seleniumアサーションにはさまざまなモードがあります。
すべてのSeleniumアサーションは、「assert」、「verify」、および「waitFor」の3つのモードで使用できます。たとえば、「assertText」、「verifyText」、「waitForText」を使用できます。「アサート」が失敗すると、テストは中止されます。「検証」が失敗すると、テストは実行を継続し、失敗をログに記録します。
試してみてくださいassertTextPresent
。これにより、テストがすぐに中止されます。
リソース コードを使用してテキスト フィールドをアサートおよび検証すると、ブール値の結果が作成されます。