51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1878|回复: 1
打印 上一主题 下一主题

又来麻烦大家了

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2011-12-31 14:22:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
直接发代码:
    public void testUntitled() throws Exception {
        selenium.open("/");
        selenium.type("id=txtUserName","cxn");
        selenium.type("id=txtPassword","1");
        selenium.click("id=A1");
        selenium.waitForPageToLoad("5000");
        selenium.select("id=ddlOrganList","label=aa");
        selenium.click("//select[@id='ddlOrganList']/option");
        Thread.sleep(10000);
        String[] strArray = selenium.getAllWindowNames();
        for(String str : strArray){
        System.out.println(str);
        selenium.selectWindow("null");
        assertTrue(selenium.isTextPresent("今天是:2011-12-31"));
        }
        }

在a窗口执行完            selenium.click("//select[@id='ddlOrganList']/option");之后,会弹出新的窗口b,我希望定位到b窗口执行新的测试。
1.我发现执行Thread.sleep(10000)的时候,是停留在b窗口的,那么说明已经定位到b窗口了?
2.getAllWindowNames()的返回值是"null",说明b窗口的属性是null?
3. 执行
    selenium.selectWindow("null");
    assertTrue(selenium.isTextPresent("今天是:2011-12-31"));
RC报错:current windos or frame is colsed。为什么会报这个错,这个current windows怎么会关闭呢?是指a窗口关闭?但是焦点不是已经到b窗口了吗?而且已经通过select wiondow强行让焦点到b窗口了呀。这到底是为什么~如果null是a窗口的属性,那b窗口的呢?getAllWindowNames()应该可以把a窗口和b窗口的属性都获得呀。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2011-12-31 16:16:08 | 只看该作者
回复 1# skysolo

查看了下RC的操作日志,可能发现了“current window or frame was closed”的原因,请看下面的日志
click(css=option[value="001-002"])
selectWindow()
open(http://192.168.0.33:6666)
我们可以看见,RC在执行完click操作之后,会自动的运行
selectWindow()
open(http://192.168.0.33:6666)
因为http://192.168.0.33:6666,也就是a界面已经关闭了,所以就出现这样的提示,

问题又来了,如何不让RC自动执行
selectWindow()
open(http://192.168.0.33:6666)
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-5-6 03:36 , Processed in 0.071444 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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