查看 iOS 模拟器上发生触摸的位置

问题描述 投票:0回答:3

我正在使用 Calabash 为我的应用程序进行一些自动化 UI 测试,并且我正在尝试触摸嵌入在更大视图中的一些视图,因此我无法访问它们的确切名称来直接触摸它们。

所以我尝试使用它们嵌入的视图的相对中心来触摸它们,但是,我只是盲目地调整我的偏移量来尝试击中这些视图,而不知道我是否离它们更远或更近查看。

那么,我的问题是,有没有办法在 iOS 模拟器中显示触摸发生的位置?我正在考虑用点之类的东西或某种方式来指示触摸发生以及发生的位置。

感谢任何帮助,谢谢!

ios iphone ios-simulator calabash
3个回答
20
投票

defaults write com.apple.iphonesimulator ShowSingleTouches 1

在终端中执行此命令并重新启动模拟器


0
投票

听起来好像有不是嵌入式视图,而只是一个响应不同位置触摸的视图。

Calabash 查询语言可以查找嵌入在其他视图中的视图。

除了可视化触摸之外,您还可以尝试记录触摸发生的位置。 Briar iOS 示例应用程序有一个如何执行此操作的示例。要点是创建一个 UIWindow 子类,添加一个方法来拦截

sendEvent:
选择器,记录触摸点,然后调用 UIWindow 的
sendEvent:

您可以在 Xcode 的设备窗口 (Shift+Command+2) 或使用 ideviceinstaller 查看设备日志:

$ idevicesyslog -u < udid >

您可以使用运行循环来跟踪模拟器的日志。

# Simulator must be launched.  App does not have to be running.
$ run-loop simctl tail

0
投票

“显示单点触摸”可以在模拟器设置中启用和禁用。

不知道它是什么时候第一次引入的,但可能是在问题提出很久之后。

© www.soinside.com 2019 - 2024. All rights reserved.