Appium Inspector可连接但IntelliJ运行测试无法创建会话求助
问题排查与解决
问题概况
Appium服务器运行地址0.0.0.0:4000,Appium Inspector可正常连接,但IntelliJ运行测试时抛出错误:
org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Host info: host: 'DESKTOP-HD34DIE', ip: '192.168.1.122'
测试代码的Desired Capabilities配置如下:
import io.appium.java_client.AppiumDriver; import io.appium.java_client.android.AndroidDriver; import org.openqa.selenium.By; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import org.openqa.selenium.WebElement; import org.openqa.selenium.remote.DesiredCapabilities; import java.net.URL; public class LoginTest { private AppiumDriver driver; @BeforeMethod public void setUp() throws Exception { DesiredCapabilities capabilities = new DesiredCapabilities(); capabilities.setCapability("automationName", "Appium"); capabilities.setCapability("deviceName", "Pixel_8"); capabilities.setCapability("platformName", "Android"); capabilities.setCapability("platformVersion", "11"); capabilities.setCapability("appPackage", "com.example.login"); capabilities.setCapability("app", "E:/mobileTests/MobileTest/src/test/resourses/app/calculator.apk"); driver = new AndroidDriver(new URL("http://0.0.0.0:4000"), capabilities); } }
解决步骤
- 修正Appium服务器URL端点
Appium服务器默认会话端点是/wd/hub,Inspector会自动补充该路径,但代码中未添加,导致请求无效。将URL修改为:
driver = new AndroidDriver(new URL("http://0.0.0.0:4000/wd/hub"), capabilities);
也可以尝试使用localhost或本地IP地址:
driver = new AndroidDriver(new URL("http://localhost:4000/wd/hub"), capabilities); // 或者 driver = new AndroidDriver(new URL("http://192.168.1.122:4000/wd/hub"), capabilities);
修复Desired Capabilities的冲突与错误
- 包名与APK不匹配:配置中
appPackage为com.example.login,但app指向的是计算器APK,两者完全不匹配。可以直接移除appPackage(让Appium自动从APK读取包名),或者将appPackage改为计算器的实际包名(例如com.android.calculator2,不同设备可能有差异)。 - 路径拼写错误:路径中的
resourses是拼写错误,正确应为resources,修正后路径:capabilities.setCapability("app", "E:/mobileTests/MobileTest/src/test/resources/app/calculator.apk");
- 包名与APK不匹配:配置中
查看Appium服务器日志定位细节
运行测试时,实时查看Appium控制台的日志输出,日志会明确说明会话创建失败的具体原因(例如APK文件不存在、设备连接异常、权限不足等),这是排查问题最直接的方式。验证设备连接状态
确保Pixel_8模拟器或真实设备已正常连接,可通过adb devices命令检查设备是否被识别,避免设备离线导致会话无法创建。
内容的提问来源于stack exchange,提问作者Fonteyn Atlas
相关产品推荐
相关产品推荐

