51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4557|回复: 5
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-7-26 12:05:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近刚刚开始学习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 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-7-27 11:53:14 | 只看该作者
自己顶一下了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-7-27 12:08:50 | 只看该作者
为啥不用firefox来模拟呢?
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2010-7-28 16:56:15 | 只看该作者
你吧selenium.selectWindow("name=xxxxx") 改成selenium.selectWindow("xxxxx")试试,用title试试也行
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2010-7-29 15:27:13 | 只看该作者
改了一下,还是不行。
我们测的东东目前不支持firefox,所以只能用IE。
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2010-9-8 15:03:21 | 只看该作者
lz这个问题解决了吗?我遇到了同样的问题。。。IE是不是不支持selenium.selectWindow()啊
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-6 08:06 , Processed in 0.096407 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表