lbb520 发表于 2010-7-26 12:05:52

【Selenium】]关于window.opner的问题,请大家帮忙

最近刚刚开始学习selenium,由于产品系统使用了window.open的javascript代码导致启动时候的窗口无法识别,描述如下:
例如我的启动窗口时 http://192.168.0.111:8080/ 这个页面会指向一个主页面,在主页面的代码里有一条 window.open的语句。它主要做如下工作,新打开一个带window name的窗口,然后关闭 http://192.168.0.111:8080/ 指向的页面。 我在selenium中就无法获取到新打开的窗口了,导致出现如下错误(注:我在FIRFOX里通过selenium.selectWindow可以用,但是在IE就会报下面的错误.)

undefined com.thoughtworks.selenium.SeleniumException: Timed out after 30000ms
        at com.thoughtworks.selenium.HttpCommandProcessor.throwAssertionFailureExceptionOrError(HttpCommandProcessor.java:97)
        at com.thoughtworks.selenium.HttpCommandProcessor.doCommand(HttpCommandProcessor.java:91)
        at com.thoughtworks.selenium.DefaultSelenium.open(DefaultSelenium.java:335)
        at AUT.seleAUT.testUntitled(seleAUT.java:46)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at junit.framework.TestCase.runTest(TestCase.java:168)
        at junit.framework.TestCase.runBare(TestCase.java:134)
        at com.thoughtworks.selenium.SeleneseTestCase.runBare(SeleneseTestCase.java:212)
        at junit.framework.TestResult$1.protect(TestResult.java:110)
        at junit.framework.TestResult.runProtected(TestResult.java:128)
        at junit.framework.TestResult.run(TestResult.java:113)
        at junit.framework.TestCase.run(TestCase.java:124)
        at junit.framework.TestSuite.runTest(TestSuite.java:232)
        at junit.framework.TestSuite.run(TestSuite.java:227)
        at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79)
        at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
        at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

从selenium IDE中能够抓到 selenium.selectWindow("name=xxxxx")
但是这段代码加入到执行脚本中还是无法获取窗口,请各位老师帮忙解决下

javascript 如下
window.open("about:blank","mytest",toolbar=0,location=0...........................)
setTimeout(openLogin,100);

function openLogin(){
   window.open("/login.jsp","mytest",toolbar=0,location=0...........................)
   window.opener =null;
   window.open(' ','_self');
   window.close();
}


注:如果通过watij可以解决,也请告知谢谢了。

[ 本帖最后由 lbb520 于 2010-7-26 14:22 编辑 ]

lbb520 发表于 2010-7-27 11:53:14

自己顶一下了

云层 发表于 2010-7-27 12:08:50

为啥不用firefox来模拟呢?

wugecat 发表于 2010-7-28 16:56:15

你吧selenium.selectWindow("name=xxxxx") 改成selenium.selectWindow("xxxxx")试试,用title试试也行

lbb520 发表于 2010-7-29 15:27:13

改了一下,还是不行。
我们测的东东目前不支持firefox,所以只能用IE。

yanpingsha 发表于 2010-9-8 15:03:21

lz这个问题解决了吗?我遇到了同样的问题。。。IE是不是不支持selenium.selectWindow()啊
页: [1]
查看完整版本: 【Selenium】]关于window.opner的问题,请大家帮忙