我正在寻找一些工具,如Android ADB,以调试iOS设备。我发现 *iOS仪器 *,XCode的一个工具,能够在移动的iOS设备上调试应用程序。如果你必须测试你的应用程序或其他一些开源应用程序,这个仪器很有帮助。我需要测试iOS设备,而不是我的应用程序,所以我正在寻找类似Android ADB的iOS设备。有类似的吗?
stszievb1#
你问:我想知道是否有可能在iOS设备上执行触摸,如输入事件,如“点击”,“滑动”,“拖动”,“轻弹”在类似的方式adb shell为Android设备.例如,我想执行触摸任何图标(如设置,或主菜单的其他一些图标),我对调试我的应用程序不感兴趣,而只是为了调试设备而模拟一个事件。这类测试是通过仪器完成的。请参阅 * 仪器用户指南的Automated UI Testing部分。* 另请参阅WWDC 2010视频Automating User Interface Testing with Instruments,其中展示了此过程的一些交互式演示。此Cocoa Controls page还有许多其他链接。总之,您可以使用仪器中的UI自动化工具来自动测试您的UI。请注意,我们中的一些人在iOS 7中遇到了在模拟器上使用此工具的问题,但它似乎在物理设备上工作正常。
vshtjzan2#
要获取已连接的iOS设备的列表,请使用命令xcrun instruments -s devices。
xcrun instruments -s devices
uxhixvfz3#
如果您碰巧安装了Adobe AIR及其ADT(Adobe开发人员工具),则可以运行:
adt -devices -platform ios
5gfr0r5j4#
可用iOS模拟器列表命令:xcrun simctl list激活/运行的iOS模拟器列表命令:xcrun simctl list | grep Booted
xcrun simctl list
xcrun simctl list | grep Booted
2admgd595#
到2021年,Facebook有一个工具可以实现这种设备自动化。该项目被称为“iOS开发桥”或idb。idb是一个灵活的命令行界面,用于自动化iOS模拟器和设备
idb
对于一点历史,它是一个类似的存档项目WebDriverAgent的替代品。从最初的问题:我想知道是否有可能在iOS设备上执行触摸,如输入事件,如“点击”,“滑动”,“拖动”,“轻弹”在类似的方式adb shell为Android设备.例如,我想执行触摸任何图标(如设置,或主菜单的其他一些图标),我对调试我的应用程序不感兴趣,而只是为了调试设备而模拟一个事件。idb可以做到这一点。它允许与设备交互。文档中的示例:点击idb ui tap X Y点击屏幕上点坐标系中指定的位置。点击持续时间可通过--duration设置滑动idb ui swipe X_START Y_START X_END Y_END从指定的起点滑动到终点。默认情况下,这将通过在起点处按下触摸来完成,然后每次移动10个点,直到到达终点。每个步骤的大小可以用--delta指定。
idb ui tap X Y
idb ui swipe X_START Y_START X_END Y_END
wi3ka0sx6#
UPD:从Xcode 15开始(2023年6月),Apple推出了一个名为xcrun devicicetl的解决方案。不幸的是,目前Apple的实用程序比第三方开发人员提供的功能要少。此外,随着iOS 17的推出,与设备交互的方法发生了变化,因此并非现有第三方解决方案的所有功能都可以使用。截至2023年10月,其中一些问题已经在pymobiledevice3中得到解决。
xcrun devicicetl
pymobiledevice3
6条答案
按热度按时间stszievb1#
你问:
我想知道是否有可能在iOS设备上执行触摸,如输入事件,如“点击”,“滑动”,“拖动”,“轻弹”在类似的方式adb shell为Android设备.例如,我想执行触摸任何图标(如设置,或主菜单的其他一些图标),我对调试我的应用程序不感兴趣,而只是为了调试设备而模拟一个事件。
这类测试是通过仪器完成的。请参阅 * 仪器用户指南的Automated UI Testing部分。* 另请参阅WWDC 2010视频Automating User Interface Testing with Instruments,其中展示了此过程的一些交互式演示。此Cocoa Controls page还有许多其他链接。
总之,您可以使用仪器中的UI自动化工具来自动测试您的UI。请注意,我们中的一些人在iOS 7中遇到了在模拟器上使用此工具的问题,但它似乎在物理设备上工作正常。
vshtjzan2#
要获取已连接的iOS设备的列表,请使用命令
xcrun instruments -s devices
。uxhixvfz3#
如果您碰巧安装了Adobe AIR及其ADT(Adobe开发人员工具),则可以运行:
5gfr0r5j4#
可用iOS模拟器列表命令:
xcrun simctl list
激活/运行的iOS模拟器列表命令:
xcrun simctl list | grep Booted
2admgd595#
到2021年,Facebook有一个工具可以实现这种设备自动化。
该项目被称为“iOS开发桥”或
idb
。idb是一个灵活的命令行界面,用于自动化iOS模拟器和设备
对于一点历史,它是一个类似的存档项目WebDriverAgent的替代品。
从最初的问题:
我想知道是否有可能在iOS设备上执行触摸,如输入事件,如“点击”,“滑动”,“拖动”,“轻弹”在类似的方式adb shell为Android设备.例如,我想执行触摸任何图标(如设置,或主菜单的其他一些图标),我对调试我的应用程序不感兴趣,而只是为了调试设备而模拟一个事件。
idb
可以做到这一点。它允许与设备交互。文档中的示例:
点击
idb ui tap X Y
点击屏幕上点坐标系中指定的位置。点击持续时间可通过--duration设置滑动
idb ui swipe X_START Y_START X_END Y_END
从指定的起点滑动到终点。默认情况下,这将通过在起点处按下触摸来完成,然后每次移动10个点,直到到达终点。每个步骤的大小可以用--delta指定。wi3ka0sx6#
UPD:从Xcode 15开始(2023年6月),Apple推出了一个名为
xcrun devicicetl
的解决方案。不幸的是,目前Apple的实用程序比第三方开发人员提供的功能要少。此外,随着iOS 17的推出,与设备交互的方法发生了变化,因此并非现有第三方解决方案的所有功能都可以使用。截至2023年10月,其中一些问题已经在pymobiledevice3
中得到解决。对于设备
仅限模拟器