【问题标题】:Unable to launch native iOS App from Macbook into iPad2 using Appium and Java无法使用 Appium 和 Java 将本地 iOS 应用程序从 Macbook 启动到 iPad2
【发布时间】:2015-07-15 08:08:18
【问题描述】:

很长一段时间以来,我一直在努力将 iOS 本机应用程序(.app 文件)从我的 Macbook 调用到真实设备 iPad2 中。请帮忙! 这是我的 POC 描述:

要做的任务:iOS 使用 #Appium#Java#SeleniumJarfiles#OnRealIOSDeviceiPAD2#TestNG 自动化原生 .app 文件

使用的设备:Macbook (iOS 10.10.1),xCode(6.3),安装了命令行工具:->Eclipse Kepler,Appium 1.3.4,iPad2(iOS 8.3),JDK(1.8.25),全部需要Selenium,Appium_Client jar 文件。

这是我从 macbook(使用 Appium-node.js)在 iPad2 上启动本机应用程序的设置方法

@Test   
public void setUp() throws Exception

{

    // set up appium
     DesiredCapabilities capabilities = new DesiredCapabilities();
     capabilities.setCapability("deviceName", "seerut");  
     capabilities.setCapability("PlatformName", "iOS");
     capabilities.setCapability("PlatformVersion", "8.1");
     capabilities.setCapability(CapabilityType.PLATFORM, "iOS");
     capabilities.setCapability("appPackage", "com.wooqer.wooqer");
     capabilities.setCapability("udid","df5f3518932eb98b90b452c904dccfd2cd510dac");
     capabilities.setCapability("bundleid", "com.wooqer.wooqer");

     File app = new File("/Users/wooqer/Desktop/Anil/Payload/Wooqer.app");
     capabilities.setCapability("app", app.getAbsolutePath());

     driver = new IOSDriver( new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
     driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
     System.out.println("App launched");    
 }

【问题讨论】:

  • 无法将 [/Users/wooqer/Desktop/Anil/Payload/Wooqer.app] 安装到 ID 为 [df5f3518932eb98b90b452c904dccfd2cd510dac] 的设备。错误 [错误:命令失败:断言失败:(AMDeviceStartService(device, CFSTR("com.apple.afc"), &afcFd, NULL) == 0),函数 handle_device,文件 fruitstrap.c,第 523 行。]at/Applications /Appium.app/Contents/Resources/node_modules/appium/lib/devices/common.js:147:10 在 ChildProcess.exithandler (child_process.js:662:7) 在 ChildProcess.emit (events.js:98:17)在 Process.ChildProcess 中可能关闭 (child_process.js:766:16)。 handle.onexit (child_process.js:833:5)

标签: ios selenium-webdriver appium ios-ui-automation


【解决方案1】:

Appium 似乎在首次将应用安装到物理设备时存在已知问题。尝试先手动将应用程序安装到设备上,然后运行您的程序。在查看您的代码时,我注意到您正在尝试为 appium 配置物理设备和模拟器的功能,下面是每个设备所需的功能。

iOS 物理设备:deviceName、platformVersion、udid、bundleid、app。 //请注意,对于物理设备,您应该提供 .ipa 的绝对路径

iOS 模拟器:deviceName、platformVersion、app。 //为此,.app 的绝对路径就可以了。

还要确保您正在构建的应用程序(如果您正在构建它)是为正确的架构创建的。 iOS sim 只能运行 x86 应用和物理设备 ArmV7 应用。

【讨论】:

    猜你喜欢
    • 2020-12-01
    • 2017-02-07
    • 2018-05-31
    • 2015-10-14
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    相关资源
    最近更新 更多