我们需要手动启动Android模拟器来运行Appium吗?

6

我是appium的新手,正在运行计算器示例测试,使用以下代码:

DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","AndroidTestDevice");
capabilities.setCapability("platformName","Android");    
capabilities.setCapability("appPackage", "com.android.calculator2");       
capabilities.setCapability("appActivity","com.android.calculator2.Calculator");
driver = new RemoteWebDriver(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);

如下截图所示,Appium正在运行:

enter image description here

如果模拟器未运行,则会出现找不到设备的错误。

我的问题是:

每次执行测试时,我需要手动启动模拟器吗?还是说Appium在执行测试时会自动启动Android模拟器?

enter image description here

2个回答

11
在设置中启用“Launch AVD”,并输入您创建的Android虚拟设备的名称。这将在启动测试时启动模拟器(如果尚未启动)。 更新: 您需要设置AVD功能。只需将此行代码添加到您的代码中:capabilities.setCapability("avd","AndroidTestDevice");

1
我将名称命名为AndroidTestDevice,但它并没有解决问题。错误信息:无法启动Appium会话,错误原因是:找不到已连接的Android设备。信息:[调试] 错误:找不到已连接的Android设备。 - msiles
你的路径中是否设置了ANDROID_HOME? - econoMichael
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - msiles
哦,抱歉。这是因为你缺少一个能力。capabilities.setCapability("deviceName","AndroidTestDevice"); deviceName 是必需的,但对于 Android 来说完全是任意的。如果你创建的 AVD 是 "AndroidTestDevice",那么你需要设置 AVD 的能力。只需在你的代码中添加这一行 capabilities.setCapability("avd","AndroidTestDevice"); 我会更新我的回答。 - econoMichael
这将调用模拟器,并确定Appium服务器是否会等待模拟器准备就绪以及apk安装完成? - Ashok kumar Ganesan

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接