1

Selenium RC を使用して IE8 のポップアップ ウィンドウにコマンドを送信しようとしています。

現在、ボタンをクリックしてポップアップ ウィンドウを開くことができます。

ただし、コマンドを送信するウィンドウを選択できません。

私はこのテーマについて約 1 週間にわたって広範な調査を行ってきましたが、これは厳密には IE の問題であると考えています。いくつかの回避策を見つけました。いくつかのブログでは、空白のウィンドウを開いてコマンドを「キャッチ」するようユーザーに指示しています。

ただし、以下のコードを実装すると、空白のウィンドウがポップアップし、ポップアップを開くボタンをクリックすると、3 番目のウィンドウが開き、必要なページが読み込まれます。

目標の設定が間違っていませんか? Selenium rc コマンドとページの html ソース コードについては、以下を参照してください。

Java コード

selenium.runScript("selenium.browserbot.document.getElementByID(
              'ctl00_ContentPlaceHolder1_WebGroupBox1_btnAddRequirement').target='popup'"
);

selenium.openWindow("", "popup");

///Click on Add Requirement button
selenium.click("id=ctl00_ContentPlaceHolder1_WebGroupBox1_btnAddRequirement");

try { 
  Thread.sleep(2000);
} catch (InterruptedException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}
selenium.selectWindow("popup");

要件の追加ボタンの HTML

<input id="ctl00_ContentPlaceHolder1_WebGroupBox1_btnAddRequirement" 
       type="submit" 
       style="font-family:Arial,Times New Roman,Courier New;" 
       onclick="return validateProject();
                 WebForm_DoPostBackWithOptions(new  
                  WebForm_PostBackOptions(
                             "ctl00$ContentPlaceHolder1$WebGroupBox1$btnAddRequirement", 
                             "", 
                             true, 
                             "", 
                             "", 
                             false, 
                             false
                  )
                 )
                " 
       value="Add New Requirement" 
       name="ctl00$ContentPlaceHolder1$WebGroupBox1$btnAddRequirement"
>
4

1 に答える 1

0

WatiN (私が知っているものとは異なります) では、ポップアップ ボックスに対処するために、alt + tab と enter の組み合わせを送信する必要がありました。

于 2012-07-09T13:24:15.523 に答える