我可以使用Appium - WebDriver从笔记本电脑(mac)在真实设备(iPhone)上运行应用程序吗?

时间:2013-09-10 12:07:08

标签: java iphone ios webdriver appium

我已经实现了使用Appium在iPhone / iPad模拟器上运行我的测试用例。

使用模拟器:

capabilities.setCapability("device", "iPhone Simulator");
capabilities.setCapability("app", "Safari");

现在我正在尝试使用真实设备上的iPhone网络浏览器执行一些测试,因此我设置了UDID编号。

使用真实设备:

capabilities.setCapability("device", "75cxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
capabilities.setCapability("app", "Safari");

但是,appium需要该应用程序的绝对路径。

我也在尝试使用Appium GUI,我也有同样的结果。我不知道是否可以在真实设备上使用Appium运行iPhone应用程序。如果有可能,有人能告诉我我需要哪条绝对路径吗?

对不起我的英语。

感谢您的时间。

3 个答案:

答案 0 :(得分:5)

绝对路径是Mac上的应用程序 的文件路径,Appium将在开始您尝试运行的测试之前抓取并安装该文件路径。目前,人们开始使Mobile Safari开放的方式是使用SafariLauncher等程序的绝对路径,为您打开Mobile Safari。在此之后,您可以在Safari中检索webview的窗口句柄并开始运行正常的WebDriver命令。

详细讨论了这种解决方法here。我可以确认它是有效的,但是从我的测试经验来看,所有这些组件协同工作的时间有点笨拙。

作为参考,我相信这些是我用来启动和运行的功能。

capabilities.setPlatform(Platform.valueOf("MAC"));
capabilities.setBrowserName("iPhone");
capabilities.setCapability("app", "/path/to/SafariLauncher.app");

答案 1 :(得分:2)

是的,可以为iPhone IPad等真实设备运行Appium。

注意

  1. Appium最新版本,ios_webkit_debug_proxy最新并正在运行。
  2. 应在配置文件中添加测试设备,并在XCODE中构建应用程序时使用它。
  3. 试试这个: 对于ios_webkit_debug_proxy命令应该是

    "ios_webkit_debug_proxy -c <<deviceID>>:27753 -d"
    

    Appium通过此端口27753连接到ios_webkit以获取设备。

    在APPIUM GUI中给出:

    1. 选择应用位置(.app或.ipa)文件
    2. 提供所连接设备的UDID
    3. 提及应用的套装ID(如XCODE中所述)
    4. 在APPIUM首选项中设置XCODE位置设置。
    5. 在代码中:

      1. 仅需要功能(BROWSER_NAME,PLATFORM,DEVICE = IPad / IPhone 等)
      2. 无需从代码中提及应用位置。
      3. 启动ios_webkit_debug_proxy&gt;&gt;启动APPIUM&gt;&gt;开始测试案例。

答案 2 :(得分:0)

  1. 首先,当您使用Real设备创建配置文件并运行应用程序并获取其.app文件
  2. 打开appium应用程序浏览.app文件检查力设备iPhone
  3. 指定在创建配置文件时提供的包标识符
  4. 指定设备UDID
  5. 点击发布你可以找到运行你应用程序的appium,只需点击appium inspector,你就可以在真实设备上看到应用程序。