7

我正在为 iOS 应用程序进行 UI 测试。我无法找出如何对日期选择器使用自动化测试。现在我被困在试图找到日期选择器本身,以便我可以更改值。

我已经搜索了很多关于这个问题的线程,但一无所获。

如果有人对此有任何见解,将不胜感激。谢谢!

4

2 回答 2

22

首先,我建议您使用 Xcode 中的“记录 UI 测试”按钮来轻松了解如何UIDatePicker在 UI 测试中访问。

对于简单UIDatePickerdate模式,更改日期很简单:

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,则可以检查标签中的文本是否已正确更新。

于 2017-05-15T18:27:41.613 回答
8

对于支持多种本地化的任何人来说,更简单的方法是

 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")
于 2017-12-23T21:43:26.137 回答