Selenium和Firefox版本不兼容,解决办法

selenium-test:
     [echo] Compiling selenium code
    [javac] /usr/jenkins/jobs/tongxunlu/workspace/build.xml:287: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 2 source files to /usr/jenkins/jobs/tongxunlu/workspace/ant-task/selenium/bin    
    [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.6    
    [javac] 1 warning    
    [junit] Running tongxunlu.RunAllTest    
   
    [junit] Error: cannot open display: localhost:11.0
    [junit] Error: cannot open display: localhost:11.0
    [junit] 
    [junit] 	at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
    [junit] 	at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246)
    [junit] 	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114)
    [junit] 	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193)
    [junit] 	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
    [junit] 	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
    [junit] 	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
    [junit] 	at tongxunlu.Sousuo.setUp(Sousuo.java:30)
    [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    [junit] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit] 	at java.lang.reflect.Method.invoke(Method.java:606)
    [junit] 	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
    [junit] 	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
    [junit] 	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
    [junit] 	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:27)
    [junit] 	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
    [junit] 	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
    [junit] 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
    [junit] 	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
    [junit] 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    [junit] 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    [junit] 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    [junit] 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    [junit] 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    [junit] 	at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    [junit] 	at org.junit.runners.Suite.runChild(Suite.java:128)
    [junit] 	at org.junit.runners.Suite.runChild(Suite.java:24)
    [junit] 	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
    [junit] 	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
    [junit] 	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
    [junit] 	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
    [junit] 	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
    [junit] 	at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
    [junit] 	at junit.framework.JUnit4TestAdapter.run(JUnit4TestAdapter.java:39)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:532)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1179)
    [junit] 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1030)
    [junit] Tests run: 1, Failures: 0, Errors: 2, Skipped: 0, Time elapsed: 52.548 sec
    [junit] Test tongxunlu.RunAllTest FAILED
[junitreport] Processing /usr/jenkins/jobs/tongxunlu/workspace/ant-task/selenium/reports/TESTS-TestSuites.xml to /tmp/null1732716998
[junitreport] Loading stylesheet jar:file:/usr/local/ant/lib/ant-junit.jar!/org/apache/tools/ant/taskdefs/optional/junit/xsl/junit-frames.xsl[junitreport] Transform time: 1217ms
[junitreport] Deleting: /tmp/null1732716998
============================================
百度了下,原来是selenium的版本和firefox不兼容,需要升级selenium或者firefox。
【Selenium】   -> 【FireFox】
2.25.0        ->  18
2.30.0        ->  19
2.31.0        ->  20
2.42.2        ->  29
2.44.0        ->  33 (不支持31,2014/12/1)
升级selenium jar包,或者是升级firefox。
PS:但是selenium-java-2.42.2版本和firefox 29.0.1版本兼容,如果升级到firefox 30+,则浏览器启动失败。可能是selenium还未同步升级,后面估计可以正常支持。切记,关掉forefox的升级功能,否则连本地Windows上的脚本都跑不起来,作者曾经为此还降级了forefox。
升级后,selenium脚本正常启动firefox。

你可能感兴趣的:(ant,JUnit,selenium,自动化)