【问题标题】:Appium Error UI AutomatorAppium 错误 UI 自动化
【发布时间】:2017-07-15 20:58:59
【问题描述】:

Windows 7 Appium:1.4.16.1 Android 虚拟设备管理器中的模拟器 Android

APPIUM REST 响应:

感谢您告诉我。如果您认为可能是源头原因。

来自 ECLIPSE 的代码:

'import org.openqa.selenium.By;
 import org.openqa.selenium.chrome.ChromeDriverService;
 import org.openqa.selenium.remote.DesiredCapabilities;
 import org.openqa.selenium.remote.RemoteWebDriver;
 import org.testng.annotations.AfterClass;
 import org.testng.annotations.BeforeClass;
 import org.testng.annotations.Test;
 import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import io.appium.java_client.MobileElement;
 import io.appium.java_client.android.AndroidDriver;
 import io.appium.java_client.ios.IOSElement;
 import io.appium.java_client.remote.MobileBrowserType;
 import io.appium.java_client.remote.MobileCapabilityType;
 import io.appium.java_client.remote.MobilePlatform;
 import org.openqa.selenium.Platform;
 import org.openqa.selenium.WebDriver;
 import org.openqa.selenium.remote.BrowserType;
 import java.util.concurrent.TimeUnit;

 //WebDriver driver;
 public class AA_Android1

 @Test
 public void test1() throws MalformedURLException, InterruptedException{

 DesiredCapabilities capabilities = new DesiredCapabilities();
 File app = new File("C:/Users/dd/Downloads/com.google.android.gm.4.5.apk");
 capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"emulator-      5554");
 capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android");
 capabilities.setCapability(MobileCapabilityType.BROWSER_NAME, "BROWSER");
 capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION, "6.0");
 capabilities.setCapability("appPackage", "com.android.browser");
      capabilities.setCapability("appActivity","com.android.browser.BrowserActivity");          

 capabilities.setCapability("browserName", MobileBrowserType.BROWSER);

 WebDriver driver = new AndroidDriver<MobileElement>(new              URL("http://127.0.0.1:4723/wd/hub"), capabilities );//error?
 driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS);'

APPIUM 日志: '> 使用命令启动 Appium 服务器:C:\Appium\node.exe lib\server\main.js --address 127.0.0.1 --port 4723 --browser-name Chrome --session-override --platform-name Android --platform-version 23 --automation-name Appium --device-name "emulator-5554" --log-no-color

信息:欢迎使用 Appium v​​1.4.16(修订版 ae6877eff263066b26328d457bd285c0cc62430d) 信息:Appium REST http 接口监听器开始于 127.0.0.1:4723 信息:[调试]非默认服务器参数:{“address”:“127.0.0.1”,“sessionOverride”:true,“logNoColors”:true,“deviceName”:“emulator-5554”,“platformName”:“Android ","platformVersion":"23","automationName":"Appium","browserName":"Chrome"} 信息:控制台日志级别:调试 info: --> POST /wd/hub/session {"capabilities":{"desiredCapabilities":{"appPackage":"com.android.browser","appActivity":"com.android.browser.BrowserActivity"," platformVersion":"6.0","browserName":"Browser","platformName":"Android","deviceName":"emulator-5554"},"requiredCapabilities":{}},"desiredCapabilities":{"appPackage" :"com.android.browser","appActivity":"com.android.browser.BrowserActivity","platformVersion":"6.0","browserName":"Browser","platformName":"Android","deviceName" :"emulator-5554"},"requiredCapabilities":{}} 信息:客户端用户代理字符串:Apache-HttpClient/4.5.2 (Java/1.8.0_121) 信息:设置模式:直接代理到 Chromedriver 信息:[调试] 看起来我们想要在 android 上使用 chrome 信息:[调试] 创建新的 appium 会话 6f152533-ef46-4327-9543-c62fb07906ad info: [debug] 检查 adb 是否存在 信息:[调试] 使用 C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe 中的 adb 信息:[调试] 使用快速重置?真的 信息:[调试] 为会话准备设备 信息:[调试]不检查应用程序是否存在,因为我们假设它已经在设备上 信息:检索设备 信息:[调试] 尝试查找已连接的 android 设备 信息:[调试]正在连接设备... 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe 设备 信息:[调试] 1 个设备已连接 信息:找到设备模拟器-5554 信息:[调试] 将设备 ID 设置为 emulator-5554 信息:[调试] 等待设备准备好并响应 shell 命令(超时 = 5) 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 wait-for-device 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "echo 'ready'" 信息:[调试] 启动 logcat 捕获 信息:[调试]将解锁帮助应用程序推送到设备... 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 install "C:\Appium\node_modules\appium\build\unlock_apk\ unlock_apk-debug.apk" 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "dumpsys window" 信息:[调试] 屏幕已解锁,继续。 信息:[调试] 转发系统:4724 到设备:4724 info: [debug] 执行 cmd: C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 forward tcp:4724 tcp:4724 信息:[调试] 将 appium 引导程序推送到设备... 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 push "C:\Appium\node_modules\appium\build\android_bootstrap\ AppiumBootstrap.jar" /data/local/tmp/ 信息:启动应用程序 信息:[调试] 试图杀死所有“uiautomator”进程 信息:[调试]使用“uiautomator”获取所有进程 信息:[调试] 执行 cmd:C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "ps 'uiautomator'" 信息:[调试] 清理 appium 会话 错误:无法启动 Appium 会话,错误是:错误:命令失败:C:\Windows\system32\cmd.exe /s /c "C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools \adb.exe -s emulator-5554 shell "ps 'uiautomator'""

信息:[调试]错误:命令失败:C:\Windows\system32\cmd.exe /s /c "C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell "ps 'uiautomator'""

at ChildProcess.exithandler (child_process.js:751:12)
at ChildProcess.emit (events.js:110:17)
at maybeClose (child_process.js:1016:16)
at Process.ChildProcess._handle.onexit (child_process.js:1088:5)

info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Command failed: C:\Windows \system32\cmd.exe /s /c \"C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell \"ps 'uiautomator'\"\" \n)","killed":false,"code":1,"signal":null,"cmd":"C:\Windows\system32\cmd.exe /s /c \"C:\Users\ddaunay \AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554c\"\"","origValue":"命令失败:C:\Windows\system32\cmd.exe /s /c \ "C:\Users\ddaunay\AppData\Local\Android\sdk\platform-tools\adb.exe -s emulator-5554 shell \"ps 'uiautomator'\"\"\n"},"sessionId":null} 信息:

【问题讨论】:

  • 您是否通过运行命令“adb devices”检查了命令提示符中的设备名称

标签: node.js appium


【解决方案1】:

我们在使用 Appium 1.4.16 版本时遇到了类似的问题,我们在不同的论坛和与 appium 相关的支持论坛中进行了很多搜索。知道这是一个问题,他们为用户提供了一个替代方案,让他们继续工作,直到他们在下一个版本中解决这个问题。

基本上我们需要修改 appium 文件夹中的 adb.js 文件: C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\lib\

把那些细节写得很清楚@http://www.testingtools.co/appium/error-command-failed-adb-exe-s-emulator-5554-shell-ps-uiautomator

希望对你有帮助,你会成功的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 2018-05-10
    • 1970-01-01
    • 2017-11-18
    • 2018-09-15
    相关资源
    最近更新 更多