针对iOS UI测试在地图上模拟位置?

时间:2018-09-24 15:10:56

标签: ios mocking xcuitest testautomationfx

有人在那里以编程方式尝试在地图上模拟iOS UI测试的位置(不使用编辑方案>允许位置模拟)吗?

1 个答案:

答案 0 :(得分:0)

创建协议和模拟位置管理器

import CoreLocation

protocol LocationManager: class {
    var location: CLLocation? { get }
}

final class MockCLLocationManager: LocationManager {
    var location: CLLocation? {
        return CLLocation(latitude: CLLocationDegrees(exactly: 52.51657052665494)!,
                          longitude: CLLocationDegrees(exactly: 13.381044881575008)!)
    }
}

extension CLLocationManager: LocationManager { }

然后在地图视图控制器中:

let locationManager: LocationManager = MockCLLocationManager()

虽然我无法以这种方式显示地图视图来显示蓝色的用户位置指示符。