【问题标题】:XCUIApplication: How to set a custom core locationXCUIApplication:如何设置自定义核心位置
【发布时间】:2016-02-20 15:32:06
【问题描述】:

在 Xcode 7 中,Apple 添加了 XCUITest 作为测试应用程序 UI 的新的首选方法。

我想迁移我的旧测试脚本,但没有找到任何关于在使用 XCUITest 时如何设置自定义核心位置的信息。

旧电话:

UIATarget.localTarget().setLocation({latitude: '48.21048', longitude: '16.3595'});

我还尝试找到一些有关如何通过启动参数提供 GPX 文件作为解决方法的信息,但没有成功并且不知道这是否可行以及关键是什么。

有人知道如何使用 XCUITest 设置自定义核心位置吗?

【问题讨论】:

  • 有同样的问题。在方案的运行选项上设置的位置将被忽略。在测试的 UI 目标上设置测试位置也会被忽略。调试器上的设置确实有效。然而,这是没有用的,因为我需要一些东西——使用参数、代码或方案——在 Xcode CI 中工作。不要以为你最终解决了这个问题?
  • 不,很遗憾我没有。但是谢谢你的评论!现在我意识到我必须在接下来的 2-3 周内解决这个问题。我们正在一个新市场推出我们的应用程序,测试目标中的位置应用于自动捕获所有可用市场中所有设备的屏幕截图。

标签: ios xcode core-location xcode-ui-testing xcode-bots


【解决方案1】:

WWDC Session 409 Advanced Testing and Continuous Integration WWDC 2016 提供了一个重要线索。

简而言之,这是不可能的。至少从 Xcode 8 开始。

视频中的 Apple 工程师使用模拟器设置手动配置位置 - 或者更确切地说,他们禁用位置。

要针对特定​​位置运行机器人,必须首先使用 CI 机器的 Xcode 设备创建新模拟器。然后,编辑 Bot 并在“设备”选项卡上选择“特定 iOS 设备”。

【讨论】:

  • 感谢您的提示。这几天会看视频。不确定这是否对我有帮助,因为我正在使用 XCUITest 通过 fastlane/snapshot 捕获屏幕截图,并且我认为没有涉及机器人/CI。
  • 刚刚看了视频。不幸的是,创建额外的模拟器似乎对我不起作用,因为我需要能够在代码中设置位置(或至少通过启动参数提供)以考虑不同的可用语言(德国的测试应该使用柏林的位置,英国的测试应该使用伦敦)。
猜你喜欢
  • 2020-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-01
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多