(Swift, EarlGrey) переместить ползунок в середину
Я пишу несколько тестов, и мне нужно перейти к середине слайдера. Я хотел бы получить минимальное и максимальное значение ползунка, как на картинке ниже:
Эти значения могут меняться, поэтому каждый раз, когда мне нужно получить их в моем коде. Позже я просто хочу получить среднее из этих двух значений и переместить ползунок в середину, используя метод
performAction:grey_moveSliderToValue(valueToMove)
Как я могу получить minumumValue и MaximumValue в моем коде? Это лучший подход или лучше переместить точку воспроизведения к середине слайдера?
1 ответ
Вы можете использовать GREYActionBlock EarlGrey, чтобы создать новое действие, которое скользит до половины
// Create a new action that slides to half.
GREYActionBlock *slideToHalfAction = [GREYActionBlock actionWithName:@"slideToHalf"
constraints:grey_kindOfClass([UISlider class])
performBlock:^BOOL(id element, NSError *__strong *errorOrNil) {
UISlider *slider = element;
float minValue = slider.minimumValue;
float maxValue = slider.maximumValue;
float halfValue = (minValue + maxValue) / 2;
return [grey_moveSliderToValue(halfValue) perform:element error:errorOrNil];
}];
// Use the new action on the slider.
[[EarlGrey selectElementWithMatcher:grey_accessibilityID(@"slider4")] performAction:slideToHalfAction];