log:org.openqa.selenium.SessionNotCreatedException:无法创建 新的远程会话。期望的能力=能力 [{appActivity = com.knowarth.hrmsapp.ui.LoginActivity, platformVersion = 7.0,androidPackage = com.knowarth.hrmsapp, platformName = Android,device = Android,deviceName = Nexus 5X API 24}], required capabilities = Capabilities [{}]构建信息:版本: '3.3.1',修订版:'5234b32',时间:'2017-03-10 09:04:52 -0800'系统 info:host:'KA-LPT-104',ip:'192.168.43.85',os.name:'Windows 10', os.arch:'amd64',os.version:'10 .0',java.version:'1.8.0_60'驱动程序 info:driver.version:AndroidDriver at io.appium.java_client.remote.AppiumProtocolHandShake.lambda $ 1(AppiumProtocolHandShake.java:95) 在java.util.Optional.orElseThrow(未知来源)at io.appium.java_client.remote.AppiumProtocolHandShake.createSession(AppiumProtocolHandShake.java:95) 在 io.appium.java_client.remote.AppiumCommandExecutor.doExecute(AppiumCommandExecutor.java:111) 在 io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:162) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:604) 在 io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:42) at io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) 在 io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:244) 在 org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:131) 在 org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:144) 在 io.appium.java_client.DefaultGenericMobileDriver。(DefaultGenericMobileDriver.java:38) 在io.appium.java_client.AppiumDriver。(AppiumDriver.java:88) 在io.appium.java_client.AppiumDriver。(AppiumDriver.java:112) 在 io.appium.java_client.android.AndroidDriver。(AndroidDriver.java:73) 在com.ka.tests.Appium_Webinar.setUp(Appium_Webinar.java:42)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)at sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at java.lang.reflect.Method.invoke(未知来源)at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:108) 在 org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:523) 在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:224) 在org.testng.internal.Invoker.invokeConfigurations(Invoker.java:146) 在org.testng.SuiteRunner.privateRun(SuiteRunner.java:326)at org.testng.SuiteRunner.run(SuiteRunner.java:289)at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)at at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)at at org.testng.TestNG.runSuites(TestNG.java:1144)at org.testng.TestNG.run(TestNG.java:1115)at org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132) at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:230) 在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:76)
答案 0 :(得分:0)
这里的问题是,您正在创建会话但不关闭它。因此,当您第二次运行测试时,它会说"无法分配会话"。
使用这些方法启动和停止appium,它可以解决您的问题。
static AppiumDriverLocalService appiumService;
public static void start() throws IOException {
AppiumServiceBuilder builder = new AppiumServiceBuilder().withArgument(GeneralServerFlag.SESSION_OVERRIDE)
.withArgument(GeneralServerFlag.STRICT_CAPS);
appiumService = builder.build();
appiumService.start();
System.out.println("appium server is started");
}
public static void stop() throws IOException{
appiumService.stop();
System.out.println("appium server is stopped");
}
答案 1 :(得分:0)
我通过将Java客户端版本从5.0.0降级到4.1.2来解决此问题。 感谢。
希望这会对你有所帮助。快乐的测试!!