Appium V1.22.3出现Session Not Created异常的解决方法咨询
解决Appium V1.22.3 Session Not Created异常
核心修复步骤
- 修正设备名称拼写错误:脚本里的
devicemName是拼写失误,必须改成deviceName,Appium无法识别错误配置项会直接导致会话创建失败。 - 修复Appium服务URL格式:原URL缺少双斜杠,正确格式为
http://0.0.0.0:4723/wd/hub,末尾斜杠可省略,避免URL解析失败。 - 补全AndroidDriver实例化参数:原代码创建
AndroidDriver时没传服务URL,正确写法要同时传入URL和Capabilities对象,且建议指定AndroidElement泛型。 - 替换已弃用的DesiredCapabilities:
DesiredCapabilities在新版Appium/Selenium中已被标记为弃用,推荐用MutableCapabilities替代,提升兼容性。
额外检查项
- 确认Appium服务已正常启动,启动控制台没有报错信息。
- 执行
adb devices命令,验证3200c3acb4e9758b这个UDID是否在已连接设备列表里,确保设备连接正常。 - 验证
appPackage和appActivity的正确性:打开计算器应用后,执行adb shell dumpsys window | grep mCurrentFocus命令,获取当前应用的真实Activity名称(谷歌计算器的Activity通常为com.google.android.calculator.Calculator,注意大小写)。 - 确保设备已开启USB调试、允许Appium安装应用,且当前操作用户有权限操控设备。
修正后的完整代码
package appium; import java.net.MalformedURLException; import java.net.URL; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.AndroidElement; import io.appium.java_client.remote.MobileCapabilityType; import org.openqa.selenium.MutableCapabilities; public class AppiumTest { public static AndroidDriver<AndroidElement> driver; public static void main(String[] args) throws MalformedURLException { MutableCapabilities cap = new MutableCapabilities(); cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); cap.setCapability(MobileCapabilityType.PLATFORM_VERSION, "13"); cap.setCapability(MobileCapabilityType.UDID, "3200c3acb4e9758b"); cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Galaxy M13"); cap.setCapability("appPackage", "com.google.android.calculator"); cap.setCapability("appActivity", "com.google.android.calculator.Calculator"); URL url = new URL("http://0.0.0.0:4723/wd/hub"); driver = new AndroidDriver<>(url, cap); System.out.println("会话创建成功"); driver.quit(); } }
内容的提问来源于stack exchange,提问作者Naveen Kumar
相关产品推荐
相关产品推荐

