2016-05-23 11 views
1

ピッカービューがあり、8 - Sohailまたは9 - Sohailを選択したいが、XCUIElementQueryを使用してXCElementを見つけることができない。独自のカスタムビューを定義するために 'pickerView - viewForRow'メソッドをオーバーライドすると、XCUIElementQueryはそれを見つけることができません。コードはUIPickerView用です。 viewForRowをオーバーライドしないとうまく動作しません。viewForRowを使用するとUIPickerViewテストケースが破損する

func numberOfComponentsInPickerView(pickerView: UIPickerView) -> Int { 
    return 1 
} 

func pickerView(pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
    return 10 
} 

func pickerView(pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
    var i : String? 
    i = "\(row) - Sohail" 
    return i 
} 
func pickerView(pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { 
    print("\(row) - Sohail") 
} 

func pickerView(pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusingView view: UIView?) -> UIView { 

    let pickerLabel = UILabel() 

    pickerLabel.textColor = UIColor.greenColor() 

    pickerLabel.textAlignment = NSTextAlignment.Center 
    pickerLabel.text = "\(row) - Sohail" 
    return pickerLabel 
} 

とUIテストケース

func testPicker(){ 

    let app = XCUIApplication() 

//  print(app.pickerWheels.count) 
//  app.descendantsMatchingType(.PickerWheel)["1 - Sohail"].tap() 
//  print(app.pickerWheels.element) 
//  app.pickerWheels.elementBoundByIndex(0).swipeUp() 

    app.pickerWheels.element.adjustToPickerWheelValue("9 - Sohail") 

    sleep(2) 

//  app.pickerWheels["0 - Sohail"].tap() 
//  app.pickerWheels["8 - Sohail"].tap() 

} 

のために私は、このエラーメッセージを取得しています。

UI Testing Failure - Internal error: unable to find current value '0 - Sohail, 1 of 10' in possible values 0 - Sohail, 1 - Sohail, 2 - Sohail, 3 - Sohail, 4 - Sohail, 5 - Sohail, 6 - Sohail, 7 - Sohail, 8 - Sohail, 9 - Sohail for the picker wheel "0 - Sohail, 1 of 10" PickerWheel

答えて

0

問題がエラーに示した「currentValueは」と定義され、あなたのピッカー内の行のaccessibilityValueで、あなたは実際に読んでいないものを。バグ報告on OpenRadar here

関連する問題