在 Swift 中使用 XCUITest 自动化在苹果地图上绘制形状

Posted

技术标签:

【中文标题】在 Swift 中使用 XCUITest 自动化在苹果地图上绘制形状【英文标题】:Draw shapes on apple maps using XCUITest automation in Swift 【发布时间】:2020-04-03 05:06:48 【问题描述】:
Suppose if I have Four coordinates
 let app = XCUIApplication()
 let mapView = app.otherElements.matching(identifier: "map_view").element                                
 let co1 = mapView.coordinate(withNormalizedOffset: CGVector(dx: 0.1, dy: 0.15))
 let co2 = mapView.coordinate(withNormalizedOffset: CGVector(dx: 0.1, dy: 0.6))
 let co3 = mapView.coordinate(withNormalizedOffset: CGVector(dx: 1, dy: 0.6))
 let co4 = mapView.coordinate(withNormalizedOffset: CGVector(dx: 1, dy: 0.1))

 co1.press(forDuration: 2.0, thenDragTo: co2)
 co2.press(forDuration: 0, thenDragTo: co3)
 co3.press(forDuration: 0, thenDragTo: co4)
 co4.press(forDuration: 0, thenDragTo: co1)

我想用上面的画一条封闭的路径。绘制第二条线时,第一条线消失。我想在苹果地图上按一下,然后拖动,把四个坐标全部连接起来,形成一个封闭的路径。

否则

在地图上画一个一定半径的圆。

【问题讨论】:

如何使用 XCUITest 自动化在 swift 语言中绘制多边形。 【参考方案1】:

黑盒测试时不能绘制封闭的形状。

您只能通过捏合、缩放来绘制线条(滑动、拖动)、圆形路径(旋转)和一些绘图。

https://developer.apple.com/documentation/xctest/xcuielement

如果您想绘制复杂的形状 - 您可能应该切换到白盒测试。

【讨论】:

即使是循环路径也适合我。

以上是关于在 Swift 中使用 XCUITest 自动化在苹果地图上绘制形状的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Swift 4 上的 XCUITest 中设置设备方向

如何使用 swift xcuitest 从 pdf 文件中读取数据

Swift XCUITest:如何在执行 UI 测试时单击 UIImagePickerController() 的默认“选择”按钮?

iOS XCUITest 模拟指纹

XCUITest - 如何在应用程序运行时禁用 Wi Fi?

在设备上运行时在我的 XCUITest 包 ID 中自动附加 .xctrunner