2016-02-09 4 views

ответ

5
  1. Получите ваш слайдер:

    let app = XCUIApplication() 
    let timeSlider = app.sliders["timeSlider"] 
    
  2. Отрегулировать его значение:

    timeSlider.adjustToNormalizedSliderPosition(0.9) 
    
0

я не смог adjustToNormalizedSliderPosition работать с ползунком моего приложения. Я видел, как некоторые люди размещали онлайн, что они также не работали для них. Он работает на других здесь?

Менее полезный метод, чтобы настроить ползунок, чтобы найти элемент, нажмите на длительность, а затем перетащить на другой элемент:

slider.pressForDuration(duration: 0.05, thenDragToElement: anotherElement) 
+0

Вы должны установить accessibilityIdentifier в Xcode –

+0

гектометр Я подтвердил, что на самом деле у меня есть параметр accessibilityIdentifier для слайдера, но по-прежнему не удалось настроить слайдер с помощью вашего размещенного решения. Любые другие идеи о том, что может пойти не так для меня? Я могу успешно найти элемент с помощью accessibilityIdentifier и выполнить другие действия на нем, а не 'adjustToNormalizedSliderPosition'. – DonoCork

0

Я сделал это расширение на основе this ответа, чтобы исправить adjustToNormalizedSliderPosition проблемы.

import XCTest 

extension XCUIElement { 

    open func adjust(toNormalizedSliderValue normalizedSliderValue: CGFloat) { 
     let start = coordinate(withNormalizedOffset: CGVector(dx: 0.0, dy: 0.0)) 
     let end = coordinate(withNormalizedOffset: CGVector(dx: normalizedSliderValue, dy: 0.0)) 
     start.press(forDuration: 0.05, thenDragTo: end) 
    } 

} 

Тогда вам нужно только позвонить вместо:

app.sliders["Your Slider Identifier"].adjust(toNormalizedSliderValue: 0.5) 

Здесь Вы можете найти другие полезные советы для Xcode UITesting:

https://github.com/joemasilotti/UI-Testing-Cheat-Sheet

Смежные вопросы