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"
>