Я тестирую Detox E2E
тестирую. Но у меня много проблем с пользовательским компонентом, так как почти все в моем приложении использует многократно используемый компонент, который требуется передавать через реквизиты. Однако самая сложная часть связана с DatePicker, так как я использую библиотеку от Wix, называемую реагирующая-библиотека-календаря https://www.npmjs.com/package/react-native-calendar-list.
Следовательно, из документации по детоксикации
https://github.com/wix/Detox/blob/master/docs/APIRef.ActionsOnElement.md#setcolumntovaluecolumn-value--ios-only в setColumnToValue(column, value)
это не работает, так как я думаю, что это также пользовательский элемент.
Я пробовал tapAtPoint (), <View testID='view'/>
с element(by.id('view')).tapAtPoint({x:100, y:100})
. Однако с этим решением невозможно предсказать, какую дату я хотел выбрать.
Поэтому я бы хотел использовать setColumnByValue()
element(by.type('UIPickerView')).setColumnByValue(1,"6")
. Это элемент, который используется для <CalendarList />
. И это ошибка при условии.
Failed: [Error: Error: Cannot find UI Element.
Exception with Assertion: {
"Assertion Criteria": "assertWithMatcher:matcherForSufficientlyVisible(>=0.750000)",
"Element Matcher": "((!(kindOfClass('RCTScrollView')) && kindOfClass('UIPickerView')) || (((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('RCTScrollView'))) && ((kindOfClass('UIView') || respondsToSelector(accessibilityContainer)) && parentThatMatches(kindOfClass('UIPickerView')))))",
"Recovery Suggestion": "Check if the element exists in the UI hierarchy printed below. If it exists, adjust the matcher so that it accurately matches element."
}