Gau*_*tez 1 adb python-3.x appium
如何修复找不到“adb.exe”?
\n\n我认为我的问题是 Android 世界中被问得最多和回答最多的问题之一。我阅读并尝试了所有这些。
\n\n事实上,我花了一整天的时间来搜索、阅读和测试所有可能的解决方案。
\n\n并没有解决我的问题。所以我真的需要你的帮助。
\n\n我是新手,我想分享我的经验。这是我的代码:
\n\nfrom appium import webdriver\nimport unittest\n\nfrom selenium.webdriver.common.by import By\n\n\nclass Instagram(unittest.TestCase):\n def setUp(self):\n desired_caps = {}\n desired_caps[\'platformName\']=\'Android\'\n desired_caps[\'platformVersion\']=\'6.0\'\n desired_caps[\'deviceName\']=\'S6S5IN3G\'\n desired_caps[\'noReset\']=\'true\'\n desired_caps[\'appPackage\']=\'com.instagram\'\n desired_caps[\'appActivity\']=\'com.instagram.android.activity.MainTabActivity\'\n\n self.driver = webdriver.Remote(\'http://localhost:4723/wd/hub\',desired_caps)\n #self.driver = webdriver.Remote(\'http://0.0.0.0:4723/wd/hub\',desired_caps)\n\n def tearDown(self):\n self.driver.quit()\n\n def test_scrap_email(self):\n search_button = self.driver.findElement(By.xpath ("//android.widget.ImageView[@bounds=\'[126,800][162,836]\']"))\n search_button.click()\n\n\n\nif __name__ == \'__main__\':\n suite = unittest.Testloader().loadTestsFromTestCase(Instagram)\n unittest.TextTestRunner(verbosity=1).run(suite)\nRun Code Online (Sandbox Code Playgroud)\n\n这是错误:
\n\n\n\n\n测试于 01:00 开始 ...\n C:\\Users\\Nino\\PycharmProjects\\Instagram\\venv\\Scripts\\python.exe\n "C:\\Program Files\\JetBrains\\ PyCharm Community Edition\n 2019.1.3\\helpers\\pycharm_jb_unittest_runner.py" --target mybot_instagram.Instagram.test_scrap_email 使用\n 参数启动单元测试 python -m unittest\n mybot_instagram.Instagram.test_scrap_email in\n C:\\Users \\Nino\\PycharmProjects\\Instagram
\n\n错误回溯(最近一次调用):File\n "C:\\Users\\Nino\\AppData\\Local\\Programs\\Python\\Python37\\lib\\unittest\\case.py",\ n 第 59 行,在 testPartExecutor\n 中生成 File "C:\\Users\\Nino\\AppData\\Local\\Programs\\Python\\Python37\\lib\\unittest\\case.py",\n 行624,在 run\n self.setUp() 文件“C:\\Users\\Nino\\PycharmProjects\\Instagram\\mybot_instagram.py”,第 17 行,\n 在 setUp\n self.driver = webdriver.Remote (\' http://localhost:4723/wd/hub \',desired_caps) File\n "C:\\Users\\Nino\\PycharmProjects\\Instagram\\venv\\lib\\site-packages\\ appium\\webdriver\\webdriver.py",\n 第 144 行,在init \n 代理文件“C:\\Users\\Nino\\PycharmProjects\\Instagram\\venv\\lib\\site-packages\\ selenium\\webdriver\\remote\\webdriver.py",\n 第 157 行,在init \n self.start_session(功能, browser_profile) 文件 "C:\\Users\\Nino\\PycharmProjects\\Instagram\\venv \\lib\\site-packages\\appium\\webdriver\\webdriver.py",\n 第 219 行,在 start_session\n 响应 = self.execute(RemoteCommand.NEW_SESSION, 参数) 文件\n "C:\\ Users\\Nino\\PycharmProjects\\Instagram\\venv\\lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py",\n 第 321 行,在执行\n self.error_handler 中。 check_response(response) 文件 "C:\\Users\\Nino\\PycharmProjects\\Instagram\\venv\\lib\\site-packages\\selenium\\webdriver\\remote\\errorhandler.py",\n 行242,在 check_response\n 中引发异常类(消息、屏幕、堆栈跟踪)selenium.common.exceptions.WebDriverException:消息:处理命令时发生未知\n 服务器端错误。原始错误:无法在 ["C:\\Program\n Files\\Android\\platform-tools\\platform-tools\\adb.exe","C:\ \Program\n Files\\Android\\platform-tools\\emulator\\adb.exe","C:\\Program\n Files\\Android\\platform-tools\\tools\\adb.exe", “C:\\Program\n Files\\Android\\platform-tools\\tools\\bin\\adb.exe”]。您是否已在 \'C:\\Program\n Files\\Android\\platform-tools\' 安装\n Android Build Tools?
\n\n断言失败\n C:\\Users\\Nino\\AppData\\Local\\Programs\\Python\\Python37\\lib\\unittest\\case.py:656:\n ResourceWarning: 未关闭
\n\n
\n 结果。 error.clear() ResourceWarning: 启用tracemalloc 以获取对象分配回溯在 2.139 秒内完成 1 次测试
\n\n失败(错误=1)
\n\n进程已完成,退出代码为 1
\n\n断言失败
\n\n断言失败
\n
我正在使用pycharm。当我运行代码时,我看到一些错误日志,但是当我从 cmd 运行它时,什么也没有。
\n\n\n\n这里是 Appium 日志的主要部分:
\n\n> Android >= 6, since UIAutomator1 framework is not maintained anymore by the OS vendor.\n> [Appium] Appium v1.13.0 creating new AndroidDriver (v4.15.1) session\n> [Appium] Capabilities:\n> [Appium] platformName: Android\n> [Appium] platformVersion: 6.0\n> [Appium] deviceName: S6S5IN3G\n> [Appium] noReset: true\n> [Appium] appPackage: com.instagram\n> [Appium] appActivity: com.instagram.android.activity.MainTabActivity\n> [BaseDriver] W3C capabilities {"alwaysMatch":{"platformNa... and MJSONWP desired capabilities {"platformName":"Android","... were\n> provided\n> [BaseDriver] Creating session with W3C capabilities: {"alwaysMatch":{"platformNa...\n> [BaseDriver] Capability \'noReset\' changed from string to boolean. This may cause unexpected behavior\n> [BaseDriver] Session created with session id: 786ec1a0-280c-4573-a917-18df120f0629\n> [AndroidDriver] Shutting down Android driver\n> [AndroidDriver] Called deleteSession but bootstrap wasn\'t active\n> [BaseDriver] Event \'newSessionStarted\' logged at 1566428435932 (01:00:35 GMT+0200 (Paris, Madrid (heure d\xe2\x80\x99\xc3\xa9t\xc3\xa9)))\n> [W3C] Encountered internal error running command: Error: Could not find \'adb.exe\' in ["C:\\\\Program\n> Files\\\\Android\\\\platform-tools\\\\platform-tools\\\\adb.exe","C:\\\\Program\n> Files\\\\Android\\\\platform-tools\\\\emulator\\\\adb.exe","C:\\\\Program\n> Files\\\\Android\\\\platform-tools\\\\tools\\\\adb.exe","C:\\\\Program\n> Files\\\\Android\\\\platform-tools\\\\tools\\\\bin\\\\adb.exe"]. Do you have\n> Android Build Tools installed at \'C:\\Program\n> Files\\Android\\platform-tools\'?\n> [W3C] at ADB. (C:\\Users\\Nino\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\appium-adb\\lib\\tools\\system-calls.js:106:11)\n> [W3C] at Generator.next ()\n> [W3C] at asyncGeneratorStep (C:\\Users\\Nino\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\@babel\\runtime\\helpers\\asyncToGenerator.js:3:24)\n> [W3C] at _next (C:\\Users\\Nino\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\@babel\\runtime\\helpers\\asyncToGenerator.js:25:9)\n> [W3C] at run (C:\\Users\\Nino\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\core-js\\modules\\es6.promise.js:75:22)\n> [W3C] at C:\\Users\\Nino\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\core-js\\modules\\es6.promise.js:92:30\n> [W3C] at flush (C:\\Users\\Nino\\AppData\\Local\\Programs\\Appium\\resources\\app\\node_modules\\appium\\node_modules\\core-js\\modules\\_microtask.js:18:9)\n> [W3C] at process._tickCallback (internal/process/next_tick.js:61:11)\n> [HTTP] <-- POST /wd/hub/session 500 49 ms - 1544\n> [HTTP]\nRun Code Online (Sandbox Code Playgroud)\n\n有人可以建议我一些解决方案吗?
\n\n谢谢。
\nadb.exe您的操作系统路径中需要有
我建议进行以下设置:
ANDROID_HOME指向您的 Android SDK 安装的环境变量JAVA_HOME指向您的 JDK 安装的环境变量创建PATH环境变量,例如:
%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%JAVA_HOME%\bin
Run Code Online (Sandbox Code Playgroud)
这应该足以成功启动您的 Python Appium 测试
您始终可以使用appium-doctor工具来检查 Appium 先决条件安装的完整性。
更多信息:
| 归档时间: |
|
| 查看次数: |
9315 次 |
| 最近记录: |