我看过许多论坛上针对此问题,有关于这个话题不少答案,但这些都没有为我工作/符合我的标准。
最近,我拿起手机自动化任务,因此是完全新的Appium。 我与Appium 1.2.0.1在Windows 7上工作,试图自动化原生的Android浏览器(不是Chrome或一个应用程序)在Android V4.3真实设备上。 我已经按照说明安装了一切。 我使用硒的Maven的JUnit框架建设通过Appium执行脚本。 我用Appuim.exe在管理员模式下,使用GUI启动的节点。 然后,我跑我的脚本。
我的问题是,当我尝试在CMD“ADB设备”,我能看到的设备。 然而,在执行过程中,Appium抛出一个错误“无法启动Appium会议,犯错是:错误:无法找到一个连接的Android设备。” 我试了很多故障排除选项,并验证是否一切妥当的地方。 没运气。 请帮忙。
下面是错误的轨迹:
> Checking if an update is available
> Update not available
> Starting Node Server
> info: Welcome to Appium v1.2.0 (REV e53f49c706a25242e66d36685c268b599cc18da5)
> debug: Non-default server args: {"address":"127.0.0.1","fullReset":true,"logNoColors":true,"platformName":"Android","platformVersion":"18","automationName":"Appium","browserName":"Browser"}
> info: Appium REST http interface listener started on 127.0.0.1:4723
> info: LogLevel: debug
> info: --> POST /wd/hub/session {"desiredCapabilities":{"platformVersion":"4.3","browserName":"Browser","platformName":"Android","device":"Android","deviceName":"Android"}}
> debug: Appium request initiated at /wd/hub/session
> info: Retrieving device
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> debug: Request received with params: {"desiredCapabilities":{"platformVersion":"4.3","browserName":"Browser","platformName":"Android","device":"Android","deviceName":"Android"}}
> debug: The following desired capabilities were provided, but not recognized by appium. They will be passed on to any other services running on this server. : device
> debug: Looks like we want chrome on android
> debug: Creating new appium session fa19e382-c178-4e6b-8150-a386a51bee39
> debug: Preparing device for session
> debug: Not checking whether app is present since we are assuming it's already on the device
> debug: Checking whether adb is present
> debug: Using adb from C:\Android\android-sdk\platform-tools\adb.exe
> debug: Trying to find a connected android device
> debug: Getting connected devices...
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" devices
> debug: Could not find devices, restarting adb server...
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" kill-server
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> debug: Getting connected devices...
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" devices
> debug: Could not find devices, restarting adb server...
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" kill-server
> error: Error killing ADB server, going to see if it's online anyway
> debug: Getting connected devices...
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" devices
> debug: Could not find devices, restarting adb server...
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" kill-server
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> error: Error killing ADB server, going to see if it's online anyway
> warn: code=ENOENT, errno=ENOENT, syscall=spawn
> info: <-- POST /wd/hub/session 500 20314.056 ms - 206
> debug: Getting connected devices...
> debug: executing: "C:\Android\android-sdk\platform-tools\adb.exe" devices
> debug: Cleaning up appium session
> error: Failed to start an Appium session, err was: Error: Could not find a connected Android device.
> debug: Error: Could not find a connected Android device.
> at ADB.getDevicesWithRetry (C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:600:15)
> at androidCommon.prepareActiveDevice (C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\lib\devices\android\android-common.js:349:12)
> at null.<anonymous> (C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\lib\devices\android\android-common.js:289:26)
> at C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\async\lib\async.js:610:21
> at C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\async\lib\async.js:249:17
> at iterate (C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\async\lib\async.js:149:13)
> at C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\async\lib\async.js:160:25
> at C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\async\lib\async.js:251:21
> at C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\node_modules\async\lib\async.js:615:34
> at androidCommon.prepareEmulator (C:\Selenium\AppiumForWindows-1.2.0.1\Appium\node_modules\appium\lib\devices\android\android-common.js:339:5)
> debug: Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Could not find a connected Android device.)","origValue":"Could not find a connected Android device."},"sessionId":null}
这里是我的代码:
if (runEnv.equals("Android"))
{
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("device","Android");
capabilities.setCapability("deviceName","Android");
capabilities.setCapability("platformName","Android");
capabilities.setCapability("browserName", "Browser");
capabilities.setCapability("platformVersion", "4.3");
try {
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
} catch (MalformedURLException e) {
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(80, TimeUnit.SECONDS);
}
请帮忙!
谢谢,Arpitha