在容器中运行Appium服务器的情况下,是否可以在Docker中使用Appium自动化iOS应用程序?
您应该能够使用appium-docker-ios-docker镜像来实现这一点。
在开始之前,您需要一个Apple Developer帐户、一个开发者配置文件(带有配置配置文件和开发者证书)和开发者磁盘映像。
在您的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自动化。
你可以做到,但这不是一条容易的道路。
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,所以你可以使用这个黑客选项(或一些Hackintosh)
5) 在虚拟机中安装macOS映像(更多信息请参阅链接中的windows示例,但您可以为macOS执行此操作)
6) 安装Xcode,appium,并将您的应用程序添加到macOS镜像
7) 创建快速启动内存快照(更多关于如何链接)
8) 最后,构建一个docker镜像(更多链接)
这是一种实验性的技术,所以很多事情都可能出错,但这是我听说过的唯一可行的选择。