You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Appium Java打开安卓计算器时出现null输出及URL格式错误

Appium启动Android计算器报错MalformedURLException的解决方法

尝试用Appium在Android设备上打开计算器应用,编写了Java函数,但运行后输出null,同时抛出java.net.MalformedURLException,错误提示为no protocol: 127.0.0.1:4723/wd/hub。相关代码及错误栈信息如下:

public static void openCalculator() throws Exception{
    
    DesiredCapabilities cap = new DesiredCapabilities();
    
    cap.setCapability("deviceName","Redmi Note 7S");
    cap.setCapability("udid", "39aded9");
    cap.setCapability("platformname", "Android");
    cap.setCapability("platformVersion", "10 QKQ1.190910.002");
    cap.setCapability("appPackage", "com.miui.calculator12.3.16");
    cap.setCapability("appActivity", "com.miui.calculator.cal.CalculatorActivity");
    
    driver = new AndroidDriver(new URL("127.0.0.1:4723/wd/hub"), cap);  
    
    System.out.println("Application Started....");
    
}

错误信息:

null
no protocol: 127.0.0.1:4723/wd/hub
java.net.MalformedURLException: no protocol: 127.0.0.1:4723/wd/hub
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at appiumtests.calculatorTest.openCalculator(calculatorTest.java:46)
    at appiumtests.calculatorTest.main(calculatorTest.java:23)

核心问题与修复

错误直接原因是创建URL对象时未指定协议头(http://),Appium服务的请求必须带协议前缀。同时代码中还有两处参数错误需要修正:

  1. 添加URL协议头:将127.0.0.1:4723/wd/hub改为http://127.0.0.1:4723/wd/hub
  2. 修正包名格式:appPackage参数不应带版本号,小米计算器正确包名为com.miui.calculator
  3. 修正参数大小写:platformname需改为platformName(Appium Capability参数区分大小写)

修正后的完整代码:

public static void openCalculator() throws Exception{
    
    DesiredCapabilities cap = new DesiredCapabilities();
    
    cap.setCapability("deviceName","Redmi Note 7S");
    cap.setCapability("udid", "39aded9");
    cap.setCapability("platformName", "Android");
    cap.setCapability("platformVersion", "10 QKQ1.190910.002");
    cap.setCapability("appPackage", "com.miui.calculator");
    cap.setCapability("appActivity", "com.miui.calculator.cal.CalculatorActivity");
    
    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap);  
    
    System.out.println("Application Started....");
    
}

额外验证步骤

  • 确认Appium服务已在本地4723端口启动(可通过Appium Desktop或命令行appium启动)
  • 执行adb devices命令,确保设备39aded9已正常连接并开启USB调试
  • 重新运行代码,检查计算器应用是否正常启动

内容的提问来源于stack exchange,提问作者Sachin Soni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 19:10:59