1

現在のすべてのテキスト フィールドに同じ文を入力しようとしています。

たとえば、「dsafafsa」と入力しようとしています。識別子は常に変化します。

コードは次のとおりです。

textarea id="3765_id_50" name="entry_field[2679]" style="width:350px;" 行="3" ラップ="物理">

textarea id="3772_id_100" name="entry_field[2686]" style="width:350px;" 行="3" ラップ="物理">

コードが表示されていなかったため、テキスト領域の前にある < を削除しました。

これまでのところ、私は持っているだけです、

type  xpath=(//textarea[contains(@name, 'entry')])   sdafdsfsdafsda

ただし、表示される最初のテキスト ボックスにのみ入力します。

4

2 に答える 2

1

したがって、今日の質問と昨日の質問を考えると、IDE の限界に今まさに直面していることがわかります。特に、あなたがロケーターに関する高度な知識を持っているように思われる場合は、WebDriver に移行することを強くお勧めします。

答えは次のとおりです。あなたが言及したような2つの要素があるとします。あなたのコードは

type xpath=(//textarea[contains(@name, 'entry')])[1]  sdafdsfsdafsda
type xpath=(//textarea[contains(@name, 'entry')])[2]  sdafdsfsdafsda

[1] はセレンが発見した最初の元素に対応し、[2] は 2 番目の元素に対応します。

もちろん、IDE ではこれに問題があります。ボックスごとにこのコマンドを手動で入力する必要があるためです。ボックスが 10 個ある場合は、10 個の手動挿入と、失敗した場合に何かを修正するためのメンテナンスが必要になります。WebDriver には、IDE ではアクセスできないこの種の状況に対処するためのはるかに優れた API があります。セレンについて真剣に考えているなら、調べてみることをお勧めします。

編集

ちなみに、IDE からの移行はそれほど悪くありません。そのため、IDE には、何らかのプログラミング言語で実際にテストを保存できる楽しい機能がいくつかあります。そのため、少し余分な作業を行うだけで、IDE を使用せずに一生懸命取り組んだすべてのテストの実行を開始できます。

于 2012-08-24T20:33:44.550 に答える