Linux服务器中的Jenkins Selenium问题

时间:2018-09-28 18:40:26

标签: selenium jenkins selenium-webdriver jenkins-plugins xvfb

我在Linux服务器(Centos 6)的Jenkins中安装了以下XVFB和Firefox

  • xorg-x11-server-Xvfb-1.17.4-17.el6.x86_64
  • firefox-17.0.9-1.el6_4.x86_64

但是运行测试时,出现“驱动程序信息:driver.version:未知” 错误。

org.web.app.jbehave.StoriesRunner > run STANDARD_OUT
    org.web.app.jbehave.step.PerExampleWebDriverSteps.beforeStories() (FAILED)
    (org.jbehave.core.failures.BeforeOrAfterFailed: Method beforeStories (annotated with @BeforeStories in class org.web.app.jbehave.step.PerExampleWebDriverSteps) failed: org.openqa.selenium.TimeoutException: Timed out after 20 seconds waiting for visibility of element located by By.className: home
    Build info: version: '2.53.1', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-696.18.7.el6.x86_64', java.version: '1.8.0_92'
    Driver info: org.openqa.selenium.firefox.FirefoxDriver

Driver info: driver.version: unknown
        at org.openqa.selenium.remote.RemoteWebDriver$RemoteTargetLocator.frame(RemoteWebDriver.java:997)

这是失败步骤的详细错误。浏览器实例已打开,但无法识别框架。

org.openqa.selenium.NoSuchFrameException: No frame element found by name or id header
    Build info: version: '2.53.1', revision: 'a36b8b1cd5757287168e54b817830adce9b0158d', time: '2016-06-30 19:26:09'
    os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-696.18.7.el6.x86_64', java.version: '1.8.0_92'
    Driver info: driver.version: unknown
        at org.openqa.selenium.remote.RemoteWebDriver$RemoteTargetLocator.frame(RemoteWebDriver.java:997)
        at org.web.app.jbehave.page.WebDriverUtils.switchToFrame(WebDriverUtils.java:43)
        at org.web.app.jbehave.page.CommonPage.clickOnGivenSearchLink(CommonPage.java:106)
        at org.web.app.jbehave.step.SearchSteps.clickOnOfficerLink(SearchSteps.java:84)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.jbehave.core.steps.StepCreator$ParametrisedStep.perform(StepCreator.java:599)
        at org.jbehave.core.embedder.PerformableTree$FineSoFar.run(PerformableTree.java:340)
        at org.jbehave.core.embedder.PerformableTree$PerformableSteps.perform(PerformableTree.java:1072)
        at org.jbehave.core.embedder.PerformableTree$AbstractPerformableScenario.performRestartableSteps(PerformableTree.java:938)
        at org.jbehave.core.embedder.PerformableTree$ExamplePerformableScenario.perform(PerformableTree.java:1011)
        at org.jbehave.core.embedder.PerformableTree$PerformableScenario.perform(PerformableTree.java:883)
        at org.jbehave.core.embedder.PerformableTree$PerformableStory.performScenarios(PerformableTree.java:811)
        at org.jbehave.core.embedder.PerformableTree$PerformableStory.perform(PerformableTree.java:784)
        at org.jbehave.core.embedder.PerformableTree.performCancellable(PerformableTree.java:416)
        at org.jbehave.core.embedder.PerformableTree.perform(PerformableTree.java:387)
        at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:291)
        at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:265)
        at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:108)
        at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:41)
        at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:77)
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:310)
        at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
        at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:61)
        at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:38)
        at org.jbehave.core.embedder.StoryManager.submit(StoryManager.java:262)
        at org.jbehave.core.embedder.StoryManager.runningStory(StoryManager.java:160)
        at org.jbehave.core.embedder.StoryManager.filterRunning(StoryManager.java:144)
        at org.jbehave.core.embedder.StoryManager.runningStories(StoryManager.java:136)
        at org.jbehave.core.embedder.StoryManager.performStories(StoryManager.java:120)
        at org.jbehave.core.embedder.StoryManager.runStories(StoryManager.java:107)
        at org.jbehave.core.embedder.StoryManager.runStoriesAsPaths(StoryManager.java:86)
        at org.jbehave.core.embedder.Embedder.runStoriesAsPaths(Embedder.java:213)
        at org.jbehave.core.junit.JUnitStories.run(JUnitStories.java:20)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.runTestClass(JUnitTestClassExecutor.java:106)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:58)
        at org.gradle.api.internal.tasks.testing.junit.JUnitTestClassExecutor.execute(JUnitTestClassExecutor.java:38)
        at org.gradle.api.internal.tasks.testing.junit.AbstractJUnitTestClassProcessor.processTestClass(AbstractJUnitTestClassProcessor.java:66)
        at org.gradle.api.internal.tasks.testing.SuiteTestClassProcessor.processTestClass(SuiteTestClassProcessor.java:51)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.dispatch.ContextClassLoaderDispatch.dispatch(ContextClassLoaderDispatch.java:32)
        at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
        at com.sun.proxy.$Proxy2.processTestClass(Unknown Source)
        at org.gradle.api.internal.tasks.testing.worker.TestWorker.processTestClass(TestWorker.java:117)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:35)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:155)
        at org.gradle.internal.remote.internal.hub.MessageHubBackedObjectConnection$DispatchWrapper.dispatch(MessageHubBackedObjectConnection.java:137)
        at org.gradle.internal.remote.internal.hub.MessageHub$Handler.run(MessageHub.java:404)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
        at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
        at java.lang.Thread.run(Thread.java:745)

请有人帮我。

0 个答案:

没有答案