2

Selenium IDE (Firefox) でコマンド「assertTextPresent」を使用しようとしています。私はこのように設定します:

Command: assertTextPresent
Target: <th align="center" abbr="Monday" scope="col" style="background-color:#EFEDF5;font-weight:normal;">Mon</th><th align="center" abbr="Tuesday" (truncated for brevity)
Value: (left empty)

私が知る限り、Selenium は HTML コードが含まれているため、私の「ターゲット」とレンダリングされたページのソースを一致させていません。そのため、合格する必要がありますが、常に失敗します。このアサートを機能させるにはどうすればよいですか?

4

4 に答える 4

2

assertTextPresentページのどこかにあるように指定した値を探します。ターゲットに渡した値は、IDEが探しているテキストです。<th>文字通り、ページのどこかに表示されている「テキスト」としてタグ全体を探していますが、表示されていないと思います。

この関数を使用する正しい方法は、ターゲットで探しているテキスト(たとえば、「Mon」など)を渡すことです。これは大文字と小文字が区別されることに注意してください。この関数はどこを見てもかまわないため、実際のターゲットを指定する必要はありません。ほとんどの場合、この関数は信頼できるほどの特異性を持っていないことがわかります。

<tr>
    <td>assertTextPresent</td>
    <td>Mon</td>
    <td></td>
</tr>

assertText私は使用するかverifyText、ターゲットが必要なため、テキストを探す場所をより具体的にすることを好みます。

<tr>
    <td>assertText</td>
    <td>css=th[abbr="Monday"]</td>
    <td>Mon</td>
</tr> 

abbr属性が有効なセレクターになるかどうかは完全にはわかりません。要素をターゲットにする方法はたくさんありますが、それはスニピットの一部だったので、簡単な例として使用します。

于 2013-02-08T01:12:43.487 に答える
2

ページに存在する一意のテキストをテストしている場合は、使用できます

Command: assertTextPresent
Target: your search text

ここでターゲットに、検索したいテキストを入れます。

または

使用できる位置に存在するテキストを確認したい場合

Command: verifyText
Target: id,name,xpath of the position
value:  your search text
于 2013-02-08T07:21:09.960 に答える
0

私がここで見ていることに基づいて、その要素のテキストだけでなく、要素をターゲットとして指定しているため、assertElementPresent代わりに使用する必要があります。assertTextPresent<th>

それでも使用したい場合assertTextPresentは、「Mon」をターゲットにするだけです。それはターゲット/引数が探しているものだからです。

于 2013-02-07T18:20:04.630 に答える
0

assertTextPresent テストには 3 つの部分が必要になる可能性があります。

Command: assertTextPresent
Target: //th[@abbr="Monday"]
Value: Mon

これは、"Monday" に等しい属性 @abbr を含むセルを調べ、コンテンツ (テキスト) が "Mon" に設定されているかどうかを確認します。

すべてのセルをテストするには、複数の assertTextPresent コマンドを次々と実行して、7 日間すべてをテストします。

「レベルを上げたい」場合は、次のようにします。

Command: assertTextPresent
Target: //tr
Value: <th align="center" abbr="Monday" scope="col" style="background-color:#EFEDF5;font-weight:normal;">Mon</th><th align="center" abbr="Tuesday" (truncated for brevity)

通常は、id="row_1" や name="first_row" などの特定の属性を使用して、HTML 要素を選択することをお勧めします。その場合、ターゲットは //tr[@id="row_1"] または //tr[@name="first_row"] になります。

Target は、探しているテキストの場所を Selenium IDE に伝える「DOM 検索構文」です。値は、テストされるテキストです。

于 2013-05-08T02:09:10.467 に答える