Serenity Appium + Selenium远程驱动程序未在同一会话中运行测试

问题描述

我正在使用使用自定义驱动程序“ webdriver.driver =提供”的serenity框架[serenity + jbehave]。在此类中,我添加了代码以运行基于硒的“基于Web”或基于Appium“移动远程驱动程序”的代码以分别进行连接。现在,当我运行代码时,我可以在Web浏览器上连接并运行测试,还可以连接到云平台上存在的android设备。

我在做什么-我在单个会话中运行移动测试用例,为此我使用了“ serenity.restart.browser.for.each = never”属性。并使用它初始化

return new AndroidDriver<AndroidElement>(executor,cap);

现在有问题-当我使用maven运行测试时,它会连接到云android设备并正确执行第一个测试,但从第二个测试开始会失败。

出现错误-

java.lang.NoSuchMethodError: org.openqa.selenium.Capabilities.getCapabilityNames()Ljava/util/Set;
        at org.jbehave.core.steps.StepCreator$BeforeOrAfterStep.perform(StepCreator.java:710)
        at org.jbehave.core.embedder.PerformableTree$FineSoFar.run(PerformableTree.java:356)
        at org.jbehave.core.embedder.PerformableTree$PerformableSteps.perform(PerformableTree.java:1224)
        at org.jbehave.core.embedder.PerformableTree$NormalPerformableScenario.perform(PerformableTree.java:1115)
        at org.jbehave.core.embedder.PerformableTree$PerformableScenario.perform(PerformableTree.java:1020)
        at org.jbehave.core.embedder.PerformableTree$PerformableStory.performScenarios(PerformableTree.java:907)
        at org.jbehave.core.embedder.PerformableTree$PerformableStory.perform(PerformableTree.java:882)
        at org.jbehave.core.embedder.PerformableTree.performCancellable(PerformableTree.java:435)
        at org.jbehave.core.embedder.PerformableTree.perform(PerformableTree.java:402)
        at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:293)
        at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NoSuchMethodError: org.openqa.selenium.Capabilities.getCapabilityNames()Ljava/util/Set;
        at net.thucydides.core.webdriver.appium.AppiumConfiguration.getTargetPlatform(AppiumConfiguration.java:58)
        at net.thucydides.core.webdriver.ElementLocatorFactorySelector.platformFor(ElementLocatorFactorySelector.java:51)
        at net.thucydides.core.webdriver.ElementLocatorFactorySelector.getLocatorFor(ElementLocatorFactorySelector.java:41)
        at net.thucydides.core.webdriver.ElementLocatorFactorySelector.getLocatorFor(ElementLocatorFactorySelector.java:31)
        at net.thucydides.core.annotations.locators.SmartElementProxyCreator.proxyElements(SmartElementProxyCreator.java:21)
        at net.thucydides.core.webdriver.DefaultPageObjectInitialiser.apply(DefaultPageObjectInitialiser.java:19)
        at net.serenitybdd.core.pages.PageObject.setDriver(PageObject.java:161)
        at net.serenitybdd.core.pages.PageObject.setDriver(PageObject.java:165)
        at net.thucydides.core.steps.PageObjectDependencyInjector.updatePageObject(PageObjectDependencyInjector.java:105)
        at net.thucydides.core.steps.PageObjectDependencyInjector.instantiatePageObjectIfNotAssigned(PageObjectDependencyInjector.java:84)
        at net.thucydides.core.steps.PageObjectDependencyInjector.injectDependenciesInto(PageObjectDependencyInjector.java:55)
        at net.thucydides.core.steps.StepFactory.injectOtherDependenciesInto(StepFactory.java:206)
        at net.thucydides.core.steps.StepFactory.instantiateNewStepLibraryFor(StepFactory.java:196)
        at net.thucydides.core.steps.StepFactory.instantiateNewStepLibraryFor(StepFactory.java:179)
        at net.thucydides.core.steps.StepFactory.getNewStepLibraryFor(StepFactory.java:126)
        at net.thucydides.core.steps.IndividualInstancesByDefaultStepCreationStrategy.initiateStepsFor(IndividualInstancesByDefaultStepCreationStrategy.java:16)
        at net.thucydides.core.steps.StepAnnotations.instantiateAnyUnitiaializedSteps(StepAnnotations.java:80)
        at net.thucydides.core.steps.StepAnnotations.instanciateScenarioStepFields(StepAnnotations.java:61)
        at net.thucydides.core.steps.StepAnnotations.injectScenarioStepsInto(StepAnnotations.java:43)
        at net.serenitybdd.jbehave.SerenityStepFactory.createInstanceOfType(SerenityStepFactory.java:77)
        at org.jbehave.core.steps.StepCreator.stepsInstance(StepCreator.java:100)
        at org.jbehave.core.steps.StepCreator$MethodInvoker.invoke(StepCreator.java:998)
        at org.jbehave.core.steps.StepCreator$BeforeOrAfterStep.perform(StepCreator.java:703)
        at org.jbehave.core.embedder.PerformableTree$FineSoFar.run(PerformableTree.java:356)
        at org.jbehave.core.embedder.PerformableTree$PerformableSteps.perform(PerformableTree.java:1224)
        at org.jbehave.core.embedder.PerformableTree$NormalPerformableScenario.perform(PerformableTree.java:1115)
        at org.jbehave.core.embedder.PerformableTree$PerformableScenario.perform(PerformableTree.java:1020)
        at org.jbehave.core.embedder.PerformableTree$PerformableStory.performScenarios(PerformableTree.java:907)
        at org.jbehave.core.embedder.PerformableTree$PerformableStory.perform(PerformableTree.java:882)
        at org.jbehave.core.embedder.PerformableTree.performCancellable(PerformableTree.java:435)
        at org.jbehave.core.embedder.PerformableTree.perform(PerformableTree.java:402)
        at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:293)
        at org.jbehave.core.embedder.StoryManager$EnqueuedStory.call(StoryManager.java:266)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

有人可以帮我吗?请建议是否需要更多信息?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...