最近在做UI自動(dòng)化測試,第一次接觸這個(gè)東西凹联,總是填了一個(gè)坑沐兰,前方還有另一個(gè)坑,這幾天遇到日期選擇器UIDatePicker在選擇日期的時(shí)候蔽挠,錄制測試代碼不會(huì)出錯(cuò)住闯,但是在執(zhí)行錄制好的代碼的時(shí)候瓜浸,就會(huì)報(bào)錯(cuò),找不到選中的日期的內(nèi)容比原,然后開始各種查資料各種嘗試插佛。終于被我找到了解決辦法,特此記錄一下量窘。以下是正常錄制的代碼:
[app.buttons[@"Start:請選擇開始時(shí)間"] tap];
XCUIElementQuery *datePickersQuery = app.datePickers;
?[datePickersQuery.pickerWheels[@"April"] swipeDown];
?[datePickersQuery.pickerWheels[@"18"] swipeDown];
?[app.buttons[@"End: 請選擇結(jié)束時(shí)間"] tap];
?[datePickersQuery.pickerWheels[@"June"] swipeUp];
?[datePickersQuery.pickerWheels[@"14"] swipeUp];
?[app.buttons[@"OK"] tap];
經(jīng)修改雇寇,最終代碼為:
[app.buttons[@"Start:請選擇開始時(shí)間"] tap];
XCUIElementQuery *datePickersQuery = app.datePickers;
[datePickersQuery.pickerWheels.allElementsBoundByIndex[0] adjustToPickerWheelValue:@"April"];
? ? [datePickersQuery.pickerWheels.allElementsBoundByIndex[1] adjustToPickerWheelValue:@"13"];
? ? [datePickersQuery.pickerWheels.allElementsBoundByIndex[2] adjustToPickerWheelValue:@"2019"];
? ? [app.buttons[@"End: 請選擇結(jié)束時(shí)間"] tap];
? ? [datePickersQuery.pickerWheels.allElementsBoundByIndex[0] adjustToPickerWheelValue:@"June"];
? ? [datePickersQuery.pickerWheels.allElementsBoundByIndex[1] adjustToPickerWheelValue:@"18"];
? [app.buttons[@"OK"] tap];
分別設(shè)置不同的值?最終錄制成功。
另:Swift的代碼在這里應(yīng)該是:
app.pickerWheels.element(boundBy: 0).adjust(toPickerWheelValue: "April")
app.pickerWheels.element(boundBy: 1).adjust(toPickerWheelValue: "13")
app.pickerWheels.element(boundBy: 2).adjust(toPickerWheelValue: "2019")
參考文章:http://www.brokencontrollers.com/faq/31257409.shtml