2

テストの記録に Selenium IDE 1.9.0 を使用しています。私が間違っていなかったことと、問題を解決する方法を教えてください。

テストを記録するために私が取っている手順は次のとおりです。1. ユーザー名とパスワードを使用してサイトにログインしました。 2. メンバーの検索ページに移動してメンバーの名前を入力し、名前のリンクをクリックすると、システムがメンバーのプロフィール ページに誘導しました。

スクリプトは次の行で停止しました。

ClickAndWait  id=cmp_admin

初めてスクリプトを再生したとき、エラーなしで実行されました。8 時間後にスクリプトを実行すると、次のエラーが表示されます。

[error] Element id=cmp_admin not found

デバッグ機能を使用して、何が問題なのかを確認しました。デバッグ ペインに表示されるメッセージは次のとおりです。

[debug] modifySeparateTestWindowToDetectPageLoads: already polling this window: selenium1365079281311 
[debug] getCurrentWindow newPageLoaded = false 
[error] Element id=cmp_admin not found
[debug] commandError 
[debug] testComplete: failed=true

Selenium IDEによって生成されたhtmlコードは次のとおりです

<tr>
    <td>open</td>
    <td>/</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=nd_home</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=cmp_admin</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=quicksearch_anchor</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>css=img[alt=&quot;Member&quot;]</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=search_name</td>
    <td>suzy</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>link=Balagia, Suzy</td>
    <td></td>
</tr>
</tbody></table>
</body>
</html>
4

2 に答える 2

3

クリックした後にボタンまたはリンクをクリックすると、ページの読み込みに時間がかかります。ページが完全に読み込まれていない場合、selenium ide は次の要素の ID または名前を見つけられません。このようなタイプの問題を解決するには、Pause , waitfortext, clickandwaitコマンドを使用します

コードにいくつかの変更を加えて実行し、それが機能するかどうかをお知らせください。

<tr>
    <td>open</td>
    <td>/</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=nd_home</td>
    <td></td>
</tr>
 <tr>
    <td>pause</td>
    <td>1500</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=cmp_admin</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=quicksearch_anchor</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>css=img[alt=&quot;Member&quot;]</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=search_name</td>
    <td>suzy</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>link=Balagia, Suzy</td>
    <td></td>
</tr>
</tbody></table>
</body>
</html>
于 2013-04-05T03:51:58.943 に答える
1

それはいくつかのことかもしれません。まず、ページ上で探している要素 (id=cmp_admin) はまだ cmp_admin と呼ばれていますか? コードから、id=nd_home をクリックする必要があるように見えます。その後、cmp_admin を含むページが読み込まれます。その場合は、ページの読み込みが完了していない可能性が高いため、要素がまだそこにありません。次のように nd_home をクリックする間に waitfor コマンドを使用してみてください。

クリック | id=nd_home |

waitForElementPresent | id=cmp_admin |

クリックして待機 | id=cmp_admim |

数秒待って一時停止することもできますが、特に読み込みが必要な Ajax リクエストや要素がたくさんある場合は、waitfor コマンドの方が脆弱ではないことがわかります。

クレンダトゥ

于 2013-04-04T13:15:48.007 に答える