【问题标题】:Automate iOS application with Appium in Docker在 Docker 中使用 Appium 自动化 iOS 应用程序
【发布时间】:2016-02-27 21:46:04
【问题描述】:

是否可以通过在容器中运行 Appium 服务器在 Docker 中使用 Appium 自动化 iOS 应用程序?

【问题讨论】:

  • 我觉得Calabash还是要安装Xcode来做iOS测试的,不能把Xcode安装到容器里。还是我错过了什么?
  • 请提及您在测试设置中使用或计划使用的操作系统和环境。您的问题不完整。
  • 我在容器(Docker)上使用 ubuntu。我知道容器不支持 OSX,所以我不能在容器中安装 Xcode。
  • 我已经放弃了……这是iOS自动化的局限
  • 很好奇,你最终做了什么?我也在尝试使用 Appium 自动化 iOS 测试,将它全部隔离在一个容器或至少一个 VM 中会非常好!

标签: docker automation automated-tests appium


【解决方案1】:

您应该可以为此使用appium-docker-ios Docker 映像。

在开始之前,您需要一个 Apple 开发者帐户、一个开发者配置文件(带有配置配置文件和开发者证书)和开发者磁盘映像。

在您的 Linux 机器上,您需要:

  • 安装 docker 和 usbmuxd
  • 将您的 iOS 设备与主机配对
  • 将您的开发者资料复制到~/.quamotion/quamotion.developerprofile,将密码保存到~/.quamotion/quamotion.developerprofile.password 的开发者资料中,并将开发者磁盘保存到/.quamotion/devimg

然后,您可以使用以下命令启动 Appium:

docker run \
    -p 4723:4723 \
    -v /var/run/usbmuxd:/var/run/usbmuxd \
    -v ~/.quamotion/:/etc/quamotion/
    -e DEVELOPER_PROFILE_PASSWORD=1
    --name appium-docker-ios
    quamotion/appium-docker-ios

您应该会看到 Appium 服务器正在启动。

从这里,您应该能够像在 iOS 设备上一样启动 iOS 自动化。

【讨论】:

    【解决方案2】:

    你可以做到,但这并不容易。

    1) 你必须有一些启用了嵌套虚拟化的 Linux 系统(适用于这个 Ubuntu 18.04);

    2) 检查是否支持虚拟化 - 验证 /dev/kvm 文件是否存在:

    $ ls -l /dev/kvm
    crw-rw---- 1 root kvm 10, 232 мар  8 19:38 /dev/kvm
    

    3) 安装了 Qemu 机器模拟器。在构建镜像的主机和 Docker 镜像内部使用相同的 qemu 版本很重要;

    4) 下载 macOS 安装镜像记住你不能在非苹果技术中安装 macOS, 所以你可以使用 this 黑客选项(或一些 Hackintosh)

    5) 在虚拟机中安装 macOS 映像(更多信息请参见 linkwindows 示例,但您可以为 macOS 执行此操作

    6) 安装 Xcode、appium,并将您的应用添加到 macOS 映像中

    7) 创建快速启动内存快照(更多关于如何在link 中)

    8) 最后,构建一个 docker 镜像(更多内容在link

    它是实验性技术,因此可能会出现很多问题,但这是我听说过的唯一可行的选择。

    【讨论】:

      猜你喜欢
      • 2017-10-03
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      • 2014-09-25
      • 2020-07-29
      • 2020-09-28
      • 1970-01-01
      相关资源
      最近更新 更多