我正在为 iOS 应用程序进行 UI 测试。我无法找出如何对日期选择器使用自动化测试。现在我被困在试图找到日期选择器本身,以便我可以更改值。
我已经搜索了很多关于这个问题的线程,但一无所获。
如果有人对此有任何见解,将不胜感激。谢谢!
我正在为 iOS 应用程序进行 UI 测试。我无法找出如何对日期选择器使用自动化测试。现在我被困在试图找到日期选择器本身,以便我可以更改值。
我已经搜索了很多关于这个问题的线程,但一无所获。
如果有人对此有任何见解,将不胜感激。谢谢!
首先,我建议您使用 Xcode 中的“记录 UI 测试”按钮来轻松了解如何UIDatePicker
在 UI 测试中访问。
对于简单UIDatePicker
的date
模式,更改日期很简单:
let datePickers = XCUIApplication().datePickers
datePickers.pickerWheels.element(boundBy: 0).adjust(toPickerWheelValue: "June")
datePickers.pickerWheels.element(boundBy: 1).adjust(toPickerWheelValue: "1")
datePickers.pickerWheels.element(boundBy: 2).adjust(toPickerWheelValue: "2015")
如果 datePicker 连接到 a UILabel
,则可以检查标签中的文本是否已正确更新。
对于支持多种本地化的任何人来说,更简单的方法是
let dateComponent = Calendar.current.dateComponents([.day, .month, .year], from: Date())
let formatter = DateFormatter()
formatter.dateFormat = "MMMM"
let monthText = formatter.string(from: Date())
datePicker.pickerWheels[String(dateComponent.year!)].adjust(toPickerWheelValue: "2017")
datePicker.pickerWheels[monthText].adjust(toPickerWheelValue: "December")
datePicker.pickerWheels[String(dateComponent.day!)].adjust(toPickerWheelValue: "21")