1

Selenium IDE を使用して、Web ページに特定のテキストが存在するかどうかを確認する方法を知っています。しかし、私が知りたかったのは、要素にテキストが存在することを確認できますか?

たとえば、「トップ チャンピオン」というタイトルのテキスト ボックスがあります。このテキスト ボックスは、人の名前で毎日変更されます。テキストが実際に何であるかに関係なく、このテキストボックスにテキストがあるかどうかを確認したかっただけです。テキスト検証コマンドを試し、値を消去しようとしましたが、うまくいきません。コマンドが本当に役立つ真または偽のコマンドを返すことができる場合

ところで、私がテストしている要素はフォームフィールドではないため、値の検証も機能しません

4

3 に答える 3

1

あなたの最善の策は次のとおりです(これについては、数値の単一のテストを作成しました)

中程度の厳密さ:

waitForText | css=.SELECTORS | regex:.+?

これは、少なくとも 1 文字が存在するまで待機します。

強い厳密性 (キャラクターのサブセットが存在する場合にのみ機能します):

waitForText | css=.SELECTORS | regex:^[0-9]+$

これは、テキストがあるまで待機します。このテキストは、数字で始まり、少なくとも 1 つの数字があり、その後で終わる必要があります。指定されたサブセット外の文字は許可されません。数字NAMEnumbersに一致させるためにできる例は次のようになります。

waitForText | css=.SELECTORS | regex:^[0-9]+[a-zA-Z]+[0-9]+$

これは、253432234BobbySmith332などの文字列を待機します。

ルーク

于 2015-09-16T15:49:01.357 に答える
0
store text|[your element]|StoredText  
execute script|return ${StoredText}.length > 0|x  
assert|x|true  

Selenium IDE でこれら 3 行を使用すると、最初の行で要素からテキストが抽出され、変数 StoredText に格納されます。
2 行目は、そのテキストの長さがゼロより大きいかどうかを変数 x に格納します (true または false の結果)。
3 行目は、結果が true であることをアサートし、そうでない場合はテストに失敗します。true または false の結果だけが必要な場合は、3 行目は必要ありません。

そのため、要素にテキストが含まれている場合、抽出されたテキストの長さは 0 より大きくなり、変数 x は true になり、アサートはパスします。これにより、要素にテキストが存在することが確認されます。

于 2021-10-28T18:07:32.403 に答える