0

Selenium IDE を使用してポップアップするウィンドウを選択するのに苦労しています。私はもう試した

selectWindow(title)

selectPopup(title)

しかし、それらは機能していないようです。ウィンドウが選択されると、

verifyTitle(title)

問題なく動作するので、いくつかのテストを開始し、テストはバックグラウンド ウィンドウのオブジェクトと一致することができました。そのため、タイトルでウィンドウに一致していないようです。また、パラメーターなしで selectWindow / selectPopup を使用してみましたが、変更はありません。

ウィンドウはボタンをクリックすることで起動されることに注意することが重要です。これにより、Selenium では使用できない ID に基づいてウィンドウの名前が作成されるため、名前ではなくタイトルに基づいて起動する必要があります。 URLなどは基礎となるシステムによって生成されるため、openWindowなどを使用できません。ポップアップを選択するための一貫した方法が必要です。

これを解決する方法を知っている人はいますか?

4

7 に答える 7

0

これはあなたのために働くかもしれません

click               link=activate
waitForPageToLoad   
selectWindow        Third party activation site

またはこれを試してください

[info] Executing: |storeEval | this.browserbot.findElement('link=Pastanet').href | Link_PastaNet |
[info] Executing: |openWindow | ${Link_PastaNet} | MyWindows | 
于 2013-06-20T08:57:50.677 に答える
0

解決策はありませんが、バックグラウンドウィンドウに問題があると思われる同様の問題があります。選択したいウィンドウが別のウィンドウの後ろにある場合、それを選択することはできません - ウィンドウがすでに前にある場合にのみ機能します

于 2014-09-22T16:13:16.797 に答える
0

明示的なウィンドウ ロケータ タイプを指定すると役立つ場合があります。以下のように、selectWindow または selectPopup コマンドのタイトルの前に title= を付けて、ウィンドウ タイトルを付けることを指定します。

selectWindow  title=my window title
于 2013-07-30T22:59:21.970 に答える
0

user2989297 と Samit Badle は正しいですが、別の投稿に出くわすまで、彼らの回答は非常に曖昧で混乱していました。

秘訣は、openWindow 呼び出し中に、選択したいウィンドウに独自の名前を割り当てることです。上記の例では明確ではありませんが、それがストアド変数の目的です。以下の方が分かりやすいと思います。

<tr>
    <td>storeAttribute</td>
    <td>//table[@id='dtgList']/tbody/tr[1]/td/a@href</td>
    <td>varNewWindowName</td>
</tr>
<tr>
    <td>echo</td>
    <td>${varNewWindowName}</td>
    <td></td>
</tr>
<tr>
    <td>openWindow</td>
    <td>${varNewWindowName}</td>
    <td>Profile</td>  - this is where we assign it a new name, 'Profile'
</tr>
<tr>
    <td>pause</td>
    <td>10000</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>Profile</td> - now we can select it, using the new name
    <td></td>
</tr>

Selenium IDE で作業している場合、同等のコマンドは次のとおりです。

    Command: storeAttribute
    Target: //table[@id='dtgList']/tbody/tr[1]/td/a@href
    Value: varNewWindow

    Command: echo - I've read that the echo command is optional, but I used it
    Target: ${varNewWindow}
    Value: 

    Command: openWindow
    Target: ${varNewWindow}
    Value: Profile - again, this is where we assign the new name

    Command: Pause
    Target: 10000
    Value:

    Command: selectWindow
    Target: Profile - and then use the new name
    Value: 
于 2016-07-27T23:31:49.847 に答える