51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2215|回复: 2
打印 上一主题 下一主题

从IDE中导出的junit driver脚本问题

[复制链接]
  • TA的每日心情
    奋斗
    2015-10-30 19:48
  • 签到天数: 18 天

    连续签到: 1 天

    [LV.4]测试营长

    跳转到指定楼层
    1#
    发表于 2015-8-23 12:16:57 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
    本帖最后由 testingstudying 于 2015-8-23 12:20 编辑

    用IDE导出的junit4  driver脚本在eclipse 中运行登录不成功,但是在IDE中运行登录成功,请大师帮忙看下
    运行错误:org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
    Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:18:15'
    System info: host: 'xxx-PC', ip: '192.168.1.xxx', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_51'
    Driver info: driver.version: RemoteWebDriver
            at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:589)
            at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:348)
            at org.openqa.selenium.remote.RemoteWebDriver.findElementByLinkText(RemoteWebDriver.java:397)
            at org.openqa.selenium.By$ByLinkText.findElement(By.java:242)
            at org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:340)
            at qianxs.Login.test(Login.java:46)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
            at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
            at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
            at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
            at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
            at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
            at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
            at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
            at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
            at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
            at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
            at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
            at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
            at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
            at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
            at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
            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)
    Caused by: java.net.ConnectException: Connection refused: connect
            at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
            at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
            at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
            at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
            at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
            at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
            at java.net.Socket.connect(Socket.java:579)
            at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:117)
            at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:178)
            at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:144)
            at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:131)
            at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:610)
            at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:445)
            at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:863)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
            at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
            at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:340)
            at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:301)
            at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:165)
            at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:362)
            at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:568)
            ... 30 more
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    15 小时前
  • 签到天数: 2818 天

    连续签到: 6 天

    [LV.Master]测试大本营

    2#
    发表于 2015-8-24 15:33:44 | 只看该作者
    出现这个问题的原因一直找不到,而且,出现的时机并不固定。最后才发现问题是socket连接达到上限,原因是由于:webdriver在请求服务以后关闭连接,但是tcp的机制是这个连接不能马上关闭,而是把状态置为time_wait.,如果此时你用netstat查看自己的网络连接,会发现大量的tcp连接处于time_wait状态,导致请求连接达到上限,无法继续请求新的连接。
    解决办法:
    增大tcp最大连接数
    修改注册表中HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\MaxUserPort
    设置 MaxUserPort = 0xFFFE(65534), 如没有此项则新建,类型为WORD 值。修改以上设置后,需要重启系统生效。
    减少time_wait时间:
    修改注册表中HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\TCPTimedWaitDelay
    设置TCPTimedWaitDelay =30如没有此项则新建,类型为: DWORD 值。修改以上设置后,需要重启系统生效。(人家的经验,楼主试试)

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 恭喜你获得测试积点10

    查看全部评分

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-23 23:06 , Processed in 0.066356 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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