51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5037|回复: 3
打印 上一主题 下一主题

selenium.close()方法后再调用selenium.open("/")报错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-12-27 13:18:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yimaotao 于 2010-12-28 09:44 编辑

我想直接用selenium 直接关掉浏览器,然后再打开浏览器,操作如下:

selenium.close()方法后再调用selenium.open("/")报了以下错误:

org.openqa.selenium.WebDriverException: Session has no driver: f05f2e41-1216-4a02-8785-f1a96fc58b3a
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_11'
Driver info: driver.version: remote
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:94)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:327)
    at org.openqa.selenium.firefox.FirefoxDriver.execute(FirefoxDriver.java:191)
    at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:137)
    at org.openqa.selenium.internal.seleniumemulation.Open.handleSeleneseCommand(Open.java:36)
    at org.openqa.selenium.internal.seleniumemulation.Open.handleSeleneseCommand(Open.java:22)
    at org.openqa.selenium.internal.seleniumemulation.SeleneseCommand.apply(SeleneseCommand.java:30)
    at org.openqa.selenium.WebDriverCommandProcessor$1.call(WebDriverCommandProcessor.java:271)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
... Removed 4 stack frames
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-12-30 17:53:27 | 只看该作者
mark等待
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-12-31 10:18:30 | 只看该作者
如果用Selenium RC的话,close方法是模拟用户点击了浏览器的关闭按钮,
open方法是在当前打开的浏览器实例中,打开指令的URL,本身没有新建浏览器实例的功能。
调用了CLOSE以后,浏览器已经关闭了,再打开URL当然会报错。

要实现关闭浏览器,再打开新浏览器,要先搞清楚selenium rc启动过程打开了一个browser和一个session。Close方法关闭的是session,browser没有关闭。你可以调用stop方法关闭browser和session.然后再重新初始化selenium对象,重新打开browser和session.再进行操作。

看你的LOG可能用的是webdriver.如果这样的话,应该不是直接用我上面的方法,但原理是类似的,即关闭浏览器以后,要重新实例化浏览器对象。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2011-3-13 19:34:09 | 只看该作者
先用selenium.stare()应该就没问题了吧
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-11 16:23 , Processed in 0.077017 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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