Appium Appium 如何支持 android 7.0?

江诗 · 2017年04月26日 · 最后由 大毛 回复于 2018年03月14日 · 2356 次阅读

请问 Appium 如何支持 android 7.0?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 4 条回复 时间 点赞

Appium 1.6.3 supports iOS 10 and Android 7.0 (Nougat).

我发现 Appium1.6.3 和 1.6.4 在测试 Android7.0,有个问题,必须使用 uiautomator2 才可以支持。

但是 appium 的 appium-uiautomator2-driver 又有一个 bug,它使用的 adb 端口写死了是 5037 端口(adb 默认端口),即使你在启动 appium 的 caps 里面传入自己定义的 adbPort 端口,也没有用。

原因是 appium-uiautomator2-driver 在运行 adb 的时候,使用了开源的 adbkit,但是 adbkit 在执行 adb 命令时,需要传入 adbport(不传就使用 5037),而 appium-uiautomator2-driver 的代码里我看了一下,调用 adbkit 时没有传入指定的 adbport。。。

所以如果想用 Appium 支持安卓 7,需要做以下几点:
1:使用 Appium1.6.3 或以上版本
2:启动 Appium 时设置 caps:capabilities.setCapability("automationName", "uiautomator2");
3:确保 5037 端口没有被占用

2 楼说的很正确,赞一个,补充一下:
Appium1.6.4/Python:
....................
desired_caps['platformName'] = 'Android'
desired_caps['platformVersion'] = '7.0'
desired_caps['automationName'] = 'UIAutomator2'
..........................

appium1.6.3/Ruby:
.........................
appiumVersion: '1.6.3',
platformName: 'Android',
platformVersion: '7.1',
automationName: 'UIAutomator2',
......................

meil000 回复

我遇到这个端口的问题了,看日志每次运行都会先启动 android sdk 中的 adb.exe(默认端口 5037),导致端口冲突了。这个问题可以解决么,希望大神解答,多谢。我装的是 appium 1.6.3

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册