Ios 通过REST api与手机直接通信,自动化移动设备应用程序

Ios 通过REST api与手机直接通信,自动化移动设备应用程序,ios,xcode,selenium,automation,appium,Ios,Xcode,Selenium,Automation,Appium,我目前正在从事一个高度依赖appium/selenium实现自动化的项目。这些框架非常适合起步,但是健壮性还不太好,需要大量额外的硬件/软件来运行自动化。例如macOS、xcode、adb、appium、selenium、usb连接或通过WIFI连接(我们目前必须使用的)。这个自动化堆栈中有很多依赖项,如果有一个更干净、更可靠和可扩展的解决方案就好了 所以我想知道。有人知道通过RESTAPI运行iOS和Android自动化的方法吗?使用直接位于设备上的服务器,允许我们与设备通信,如curl-PO

我目前正在从事一个高度依赖appium/selenium实现自动化的项目。这些框架非常适合起步,但是健壮性还不太好,需要大量额外的硬件/软件来运行自动化。例如macOS、xcode、adb、appium、selenium、usb连接或通过WIFI连接(我们目前必须使用的)。这个自动化堆栈中有很多依赖项,如果有一个更干净、更可靠和可扩展的解决方案就好了

所以我想知道。有人知道通过RESTAPI运行iOS和Android自动化的方法吗?使用直接位于设备上的服务器,允许我们与设备通信,如
curl-POST:/session/{sessionId}/openApp

想想Facebook构建的WebDriverAgent,它不是用xcodebuild构建的,而是只存在于设备上。基本上,当您构建这个框架时,它会启动我正在描述的服务器,但它依赖于xcode,我最终希望将xcode从图片中删除。我知道今天我看到很多人在WDA服务器和xcode上都有问题。特别是新版本,以及WebDriverAgent现在是如何被facebook存档的

难道我们不能创建一个应用程序,它可以充当随时运行的WebDriverServer,并且使用与今天相同的逻辑吗。。通过启动会话,按Id查找元素,单击它们,然后继续。这也将消除在您的计算机上运行Appium的需要,并依靠它将您的命令代理到具有iOS的WDA服务器

我知道android是一个简单得多的画面,我现在更关注于如何用iOS解决这个问题

如果有人对Appium、iOS automation、android automation或其他方面有任何建议,请将您的反馈发送给我


我们确实使用真实的设备运行我们的自动化

我已使用Appium/Selenium从RESTAPI访问。在我看来,这比建立自己的更容易

其中一个解决方案是,我们目前正在使用Flatter进行一个项目,该项目仍然需要您的Xcode来登录依赖项。您还需要确保安装了libimobiledevice和ideviceinstaller,最后修改颤振。我们从RESTAPI调用真正的设备。我们目前正在扩展和监控性能

我能想到的另一个可行的选择是,通过XCTest进行测试将比Appium更容易。只需在应用程序中提供端点,并在XCTest中创建一个包装器。调用RESTAPI并在XCTest中运行测试。从长远来看,它更稳定,速度更快


但是对于大多数项目,我仍然在使用Appium测试iOS,同时我们正在评估这个解决方案
它有助于删除一些可能难以管理的依赖项(如Xcode)。不过,您仍然需要Apple提供的代码签名证书和配置文件。

我们是程序员,所以一切都是可能的。我建议为此创建一个操作系统。苹果的限制太多了。