如何解决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 举报,一经查实,本站将立刻删除。