Идея проста. У меня есть пользовательские UIButton
:UIButton нельзя использовать в UITests
@IBDesignable class RadioButton: AttributedButton {
private let attributedView = AttributedView(frame: CGRect(x: 0, y: 0, width: 16, height: 16))
@IBInspectable var isActive: Bool = false {
didSet {
attributedView.removeFromSuperview()
attributedView.center = CGPoint(x: frame.size.width/2, y: frame.size.height/2)
attributedView.layer.borderWidth = 1
attributedView.cornerRadius = 8
attributedView.backgroundColor = isActive ? UIColor.scooter : UIColor.white
attributedView.layer.borderColor = isActive ? UIColor.scooter.cgColor : UIColor.silver.cgColor
addSubview(attributedView)
}
}
}
Вот как это выглядит, когда isActive = false
:
и isActive = true
:
Все работает, как ожидалось, когда приложение работает. Но то же самое мне нужно делать под UITests. Все, что я делаю, - это нажать на эту кнопку ... но она не используется. Зачем?
Как выполнить крана?
let termsRadioButton = app.buttons["termsRadioButton"]
termsRadioButton.tap()
Когда я нажимаю проверить, если isActive = true
, если нет, то я отображать предупреждение ... предупреждение не должно быть под uitests, потому что я действительно нажмите на эту кнопку. Что здесь не так?