Appium Appium Selendroid 模式建立 session 失败

Helix · 2016年06月11日 · 最后由 Chris Wú 回复于 2016年06月13日 · 1452 次阅读

因为想获取 toast 提示信息,尝试 以 Selendroid 模式启动 Appium 但是一直报错提示建立新 session 失败 如下

def setUp(self):

        desired_caps={}

        desired_caps['device'] = 'android'

        desired_caps['platformName']='Android'

        desired_caps['automationName']='Selendroid'

        desired_caps['browserName']=''

        desired_caps['noReset'] = True

        desired_caps['version']='4.3'

        desired_caps['deviceName']='SM-G7108V'

        desired_caps['app'] = PATH('C:\Program Files (x86)\Appium\golo.apk')

报错信息如下:

Traceback (most recent call last):
  File "C:\Users\Win-Attack\Desktop\test_get_toast.py", line 53, in setUp
    self.driver=webdriver.Remote('http://localhost:4723/wd/hub',desired_caps)
  File "C:\Python27\lib\site-packages\appium\webdriver\webdriver.py", line 36, in __init__
    super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 90, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 177, in start_session
    response = self.execute(Command.NEW_SESSION, capabilities)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: A new session could not be created. (Original error: Required platform doesn't exist (API level >= 17))

求解~希望各位大神帮助~ 或者有没有其他方式获取到 toast 进行比对 多谢各位啦

共收到 7 条回复 时间 点赞

A new session could not be created. (Original error: Required platform doesn't exist (API level >= 17)) 这不是原因吗?android 版本不够吧

关于 toast 我个人有两个办法:
1: 如果能抓到图片:
1.1:用 tess4j 这个方法抓取图片上的文字,进行比对,缺点就是这个玩意儿比对识别率不是特别高
1.2:抓到图片之后对已经有的正确图片进行图片比对,原理就是像素点 RGB 进行比对
2:另外一个就是 testerHome 之前有人分享过的利用第三方工具实现的,附上链接地址https://testerhome.com/topics/3750root,我用的是里面第二种方法实现的,还可以。缺点就是需要写第三方工具,事先的话要开启,另外手机需要

#1 楼 @niuniudd 可是我明明 4.3 API 应该是 18 啦 desired_caps['version']='4.3' 有朋友说这个写法不对 但是我换成 desired_caps['platformVersion']='4.3' 也还是报错哎

#2 楼 @yzx200712256 多谢回复!您说的帖子我看了 楼主实现的方法确实挺巧妙地 之前看过有在 selendriod 模式下获取 toast 所以想尝试下 然而失败了。。。

我在 1.4.x 版本下一直是用 selendroid mode,為的就是測試 toast,沒有問題。

但是我今天升級到 1.5 之後,就啟動不了 selendroid mode 測試的

#5 楼 @chrisjywu 多谢回复 特意查看确认了版本 1.4.16 不过目前我已经找开发通过 xposed 框架 hook 的方式获取到了 toast 文本信息 既然实在起不来就换条路走走

#5 楼 @chrisjywu 已經可以啟動。我重裝了 appium,貌似是沒裝好。

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