8

私はセレンIDEの一点で立ち往生しています

シナリオはこんな感じ

Login-----

go to dashboard page---------

mouse over any menu on the top navigational bar----

on mouseover sub menu will appear as drop down--

now click any link from the drop down --

after clicking link will open in new tab

その時点から、その新しいタブに焦点を移す必要があります。残りのテストはその新しいタブで行われるからです。

私が書いたコードを以下に示します

     <tr>
    <td>open</td>
    <td>/magma/dev/</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>name=user_id</td>
    <td>abcd</td>
</tr>
<tr>
    <td>type</td>
    <td>name=pass</td>
    <td>1234</td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>id=btnLogin</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Costing List</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Fuel</td>
    <td></td>
</tr>
<tr>
    <td>mouseOver</td>
    <td>//div[@id='smoothmenu1']/ul/li[3]</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=Fuel Cost</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>http://10.0.1.101/magma/dev/fuelcost/</td>
    <td></td>
</tr>
<tr>
    <td>verifyTextPresent</td>
    <td>Manage Fuel Cost</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>link=Logout</td>
    <td></td>
</tr>

このコードは、ドロップダウンからサブメニューをクリックするまで正しく機能していますが、その後は機能せず、ログにエラーが表示されます

そのため、そのテストケースを実行しようとすると、エラーが表示されます

[警告] リンクには、Selenium でサポートされていないターゲット '_blank' があります! ターゲットをランダム化: selenium_blank84419

誰でもコードを正しく書くのを手伝ってもらえますか

4

9 に答える 9

10

次のコードは私のために働きます:

<tr>
    <td>storeEval</td>
    <td>selenium.getAllWindowNames()[1]</td>
    <td>windowName</td>
</tr>
<tr>
    <td>getEval</td>
    <td>this.doEcho("array length: "+selenium.getAllWindowNames().length);this.doEcho("Available window names: "+selenium.getAllWindowNames());this.doEcho("Selecting window: "+storedVars['windowName']);</td>
    <td></td>
</tr>
<tr>
    <td>selectWindow</td>
    <td>${windowName}</td>
    <td></td>
</tr>

同様の問題に直面している他の人の助けになることを願っています

于 2012-12-03T09:07:20.223 に答える
2

を使用しますが、とは使用selectPopUpしません。どちらも複雑すぎます。storeEvalselectWindow

selectPopUp:

  • 引数: windowID - さまざまな意味を持つポップアップ ウィンドウの識別子

  • ポップアップ ウィンドウを選択するプロセスを簡素化します (また、selectWindow() が既に提供している以上の機能は提供しません)。

    • windowID が指定されていない場合、または「null」が指定されている場合は、最初の非トップ ウィンドウが選択されます。一番上のウィンドウは、 windowID を指定せずに selectWindow() によって選択されるウィンドウです。これは、複数のポップアップ ウィンドウが表示されている場合は使用しないでください。
    • それ以外の場合、windowID を次の順序で考慮してウィンドウが検索されます。 1) window.open() に指定されたウィンドウの「名前」。2) ウィンドウへの参照である JavaScript 変数。3) ウィンドウのタイトル。これは、 selectWindow によって実行されるのと同じ順序付きルックアップです。

以下のコード (selenium スクリプト、selenium IDE からコピーしました) は、次のアクションを示しています。

1.「編集」リンクをクリックします

2. 2 秒間待ちます (新しいウィンドウが開くのを待ちます)

3.新しいウィンドウにフォーカス

<tr>
    <td>click</td>
    <td>link=edit</td>
    <td></td>
</tr>
<tr>
    <td>pause</td>
    <td>2000</td>
    <td></td>
</tr>
<tr>
    <td>selectPopUp</td>
    <td></td>
    <td></td>
</tr>
于 2013-01-10T09:53:59.460 に答える
1

オプション selectWindow() を試してください () でウィンドウのタイトル名を指定するだけです。例: Window Title が Testing の場合、 command : selectWindow title : Testing

新しく開いたウィンドウのタイトルを知るには、次の手順に従います。 新しいウィンドウに移動 右クリック -> ページのソースを表示 ctrl+F を押します。タイトルと検索を入力します。新しいウィンドウのタイトルを取得します

于 2013-08-08T13:27:55.333 に答える
1
<tr>
    <td>selectWindow</td>
    <td>http://10.0.1.101/magma/dev/fuelcost/</td>
    <td></td>
</tr>

またはまたは<td>http://10.0.1.101/magma/dev/fuelcost/</td>に置き換えますwindow IDwindow titlewindow name

于 2012-07-07T07:20:03.317 に答える
1

これが誰かを助けることを願っています!それは私にとってはうまくいきました。それでもログに警告が表示されますが、テストは機能します。

_blank エラーに対する Selenium IDE の回避策

于 2015-04-01T16:24:30.110 に答える
1

新しいタブのイベントをクリックした後に、waitForPopUp と selectPopUp イベントを追加してください。それは私のために働いた。

于 2017-01-24T09:47:01.080 に答える