0

我有以下代码在弹出窗口中添加照片,然后在从弹出窗口返回后单击主窗口的 PUBLISH 按钮:

//我现在在主窗口中:

String myWindowHandle = driver.getWindowHandle();
driver.findElement(By.linkText("Add Photo")).click();//Add Photo link
driver.switchTo().window("uploadPhoto");

我已经过渡到弹出窗口:

elemById("widget_129_upload_file").sendKeys("F:\\Blossom.jpg");//Browsing a .jpg file
driver.findElement(By.cssSelector("input.button.submit")).click();//this is UPLOAD button at pop up window
driver.switchTo().defaultContent();
driver.switchTo().window(myWindowHandle);

我再次回到主窗口:

elemByCssSelector("input[value=Publish]").click();//Publish button at main window WHICH IS NOT BEING CLICKED

不幸的是,主窗口的发布按钮不起作用。没有错误,硒测试停止。我的代码有什么问题?有谁能够帮我?

4

1 回答 1

0

当在弹出窗口中没有上传照片时,我的问题中提到的相同方式效果很好:

String myWindowHandle = driver.getWindowHandle();
driver.switchTo().window("Add Placement");//switch to pop up window

//在弹出窗口中:填写一些文本字段并单击提交按钮 //以下代码用于切换到主窗口

driver.switchTo().defaultContent();
driver.switchTo().window(myWindowHandle);

//下面这行代码是主窗口中的一个断言

assertTrue(isTextPresent("placementname:WWW"), "placement is not created");

所以,我的猜测是,在返回主窗口后,在弹出窗口上传照片需要很长时间,测试执行正在停止

于 2012-10-04T04:34:37.980 回答