(Swift,EarlGrey)将滑块移到中间位置

时间:2016-11-30 09:17:15

标签: ios swift slider earlgrey

我正在写一些测试,我需要转到滑块的中间位置。我想获得滑块的minimumValue和maximumValue,如下图所示: enter image description here

每次我需要在代码中获取它们时,这些值可能会发生变化。稍后,我只想获得这两个值的平均值,并使用方法

将滑块移动到中间
performAction:grey_moveSliderToValue(valueToMove)

如何在代码中获取minumumValue和maximumValue?这是最好的方法还是将播放头移到滑块中间更好?

1 个答案:

答案 0 :(得分:2)

你可以使用EarlGrey的GREYActionBlock创建一个滑动到一半的新动作

// 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];