Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
应用程序未在使用appium的仿真器/设备上启动_Appium - Fatal编程技术网

应用程序未在使用appium的仿真器/设备上启动

应用程序未在使用appium的仿真器/设备上启动,appium,Appium,我是appium的新手,计划将其用于unity游戏自动化。然而,我似乎无法找到应用程序将如何在模拟器/设备上启动?以下是我所做的步骤 启动模拟器或连接设备(因为只应连接一个) 使用appium应用程序启动appium服务器 从终端运行python脚本 我正在使用联系人管理器示例应用程序进行尝试。下面是python代码 import os from time import sleep from selenium import webdriver # Returns abs path relat

我是appium的新手,计划将其用于unity游戏自动化。然而,我似乎无法找到应用程序将如何在模拟器/设备上启动?以下是我所做的步骤

  • 启动模拟器或连接设备(因为只应连接一个)
  • 使用appium应用程序启动appium服务器
  • 从终端运行python脚本
  • 我正在使用联系人管理器示例应用程序进行尝试。下面是python代码

    import os
    from time import sleep
    
    from selenium import webdriver
    
    # Returns abs path relative to this file and not cwd
    PATH = lambda p: os.path.abspath(
        os.path.join(os.path.dirname(__file__), p)
    )
    
    desired_caps = {}
    desired_caps['device'] = 'Android'
    desired_caps['browserName'] = ''
    desired_caps['version'] = '4.2'
    desired_caps['app'] = PATH('/Users/<uname>/Downloads/ContactManager.apk')
    desired_caps['app-package'] = 'com.example.android.contactmanager'
    desired_caps['app-activity'] = '.ContactManager'
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
    print driver.get_window_size()
    
    导入操作系统
    从时间上导入睡眠
    从selenium导入webdriver
    #返回相对于此文件而不是cwd的abs路径
    PATH=lambda p:os.PATH.abspath(
    join(os.path.dirname(_文件),p)
    )
    所需的_caps={}
    所需的_caps['device']='Android'
    所需的大写字母['browserName']=''
    所需的大写字母['version']='4.2'
    所需的_caps['app']=路径('/Users//Downloads/ContactManager.apk')
    所需的_caps['app-package']='com.example.android.contactmanager'
    所需的_caps['app-activity']='。ContactManager'
    driver=webdriver.Remote('http://localhost:4723/wd/hub,所需的(大写)
    打印驱动程序。获取窗口大小()
    
    下面是appium应用程序的日志

    info: Using local app from desiredCaps: /Users/ears/Downloads/ContactManager.apk
    
    debug: Request received with params: {"sessionId":null,"desiredCapabilities":{"app-package":"com.example.android.contactmanager","app":"/Users/<uname>/Downloads/ContactManager.apk","browserName":"","version":"4.2","device":"Android","app-activity":".ContactManager"}}
    debug: Using fast reset? true
    
    info: Creating new appium session 250e7bfd-92bf-4b2a-894c-f4a0e2d02ce7
    info: Starting android appium
    info: Preparing device for session
    info: Checking whether app is actually present
    info: Checking whether adb is present
    
    debug: Appium request initiated at /wd/hub/status
    
    info: Responding to client with success: {"status":0,"value":{"build":{"version":"0.15.0","revision":"a7b47d73a27074cc928cc5b325e5d4de1b6e5594"}},"sessionId":"250e7bfd-92bf-4b2a-894c-f4a0e2d02ce7"}
    
    debug: Request received with params: {}
    
    GET /wd/hub/status 200 1ms - 199b
    
    info:使用desiredCaps的本地应用程序:/Users/ears/Downloads/ContactManager.apk
    调试:收到带有以下参数的请求:{“sessionId”:null,“desiredCapabilities”:{“app package”:“com.example.android.contactmanager”,“app”:“/Users//Downloads/contactmanager.apk”,“browserName”:““version”:“4.2”,“device”:“android”,“app activity”:“.contactmanager”}
    调试:使用快速重置?真的
    信息:创建新的应用程序会话250e7bfd-92bf-4b2a-894c-f4a0e2d02ce7
    信息:启动android appium
    信息:正在为会话准备设备
    信息:检查应用程序是否实际存在
    信息:检查adb是否存在
    调试:Appium请求在/wd/hub/status处启动
    信息:成功响应客户端:{“状态”:0,“值”:{“构建”:{“版本”:“0.15.0”,“修订版”:“a7b47d73a27074cc928cc5b325e5d4de1b6e5594”},会话ID:“250e7bfd-92bf-4b2a-894c-f4a0e2d02ce7”}
    调试:收到带参数的请求:{}
    GET/wd/hub/status 200 1ms-199b
    
    我在哪里可以找到详细的日志?它不会在模拟器上启动应用程序。我在Mac上,这是安卓的。
    我是不是遗漏了一些琐碎的东西

    通过阅读appium日志,特别是这一行,代码中的问题会突出显示出来:

    
    调试:收到带有以下参数的请求:{“sessionId”:null,“desiredCapabilities”:{“app package”:“com.example.android.contactmanager”,“app”:“/Users//Downloads/contactmanager.apk”,“browserName”:““version”:“4.2”,“device”:“android”,“app activity”:“.contactmanager”}调试:使用快速重置?真的
    


    您可以看到它包含路径
    /Users//Downloads/ContactManager.apk
    ,该路径无效。看起来您需要将代码中的
    更改为实际字符串。

    我错误地将path变量设置为

    ..../sdk/tools/ 
    
    而不是

    ..../sdk/
    
    更改此选项可以修复它