Espresso
Obecnie nie ma sposobu, aby ustawić na zasobach tożsamości ze reagować-rodzimy, tak, aby skomplikowanych czynności trzeba napisać trochę kodu (jak czekać na elementach), inne rzeczy wydaje się działać całkiem dobrze przez przycisk "test nagrywania espresso" w studio android.
- użycie prop
accessibilityLabel
jako identyfikator elementów (np. "ElementId")
- korzystanie
onView(allOf(withContentDescription("elementId"), isDisplayed()))
dostać elementowi
- peform działania tego elementu (jak
element.perform(click())
)
Tutaj można znaleźć pełny test https://gist.github.com/cybergrind/0a2ad855352a5cd47cb5fb6a486c5eaa
Appium
Jeśli chcesz tylko do wykonywania czynności i przechwytywania zrzutów ekranu, można to zrobić z appium:
- użycie prop
accessibilityLabel
jako identyfikator elementów
- w użyciu sterownika internetowej waitForElementByAccessibilityId
- robienie zrzutów ekranu z saveScreenshot (” out.png ') -> to stworzy «out.png» plik w katalogu, w którym masz uruchomić testy
W appium wreszcie będzie miał coś podobnego (js przykład):
driver.waitForElementByAccessibilityId('searchInputAcc', 5000)
.type('bold\n')
.sleep(5000)
.saveScreenshot('out.png')
iOS vs Android accessibilityLabels
Wydaje się, że dla Androida jesteś swobodnie korzystać accessibiltyLabel
na dowolny element (jak tekst, przeglądaj i tak dalej), ale nie będzie ustawiony iOS dostęp do wszystkich elementów, takich jak Adnroid.
Jeśli ustawisz etykietę na Text
nie będzie równa etykieta
<Text accessibilityLabel="my_text">content</Text>
da oznaczyć równe content
na iOS, więc w zasadzie można po prostu ustawić accessible
atrybut na węzłach tekstowych na tej platformie
<Text accessible>content</Text>
To samo dla View
- iOS zignoruje etykiety.
Do tej pory niewiele elementów na iOS będzie działać z niestandardowymi etykietami ułatwień dostępu.
Poniżej znajduje się lista elementów, które można używać do testowania aplikacji dla crossplatform reagują-rodzimy testy
Można użyć:
TouchableHighlight
- będzie działać tak samo na iOS i Androida, można po prostu ustawić accessibilityLabel
Text
- accessibilityLabel powinna być taka sama jak wewnętrzna testu + trzeba ustawić dostępnym atrybutem
nie będzie działać (na obu platformach łącznie):
PS: Nie testowałem wszystkie możliwe elementy jeszcze, więc dodać swoje wyniki do innych elementów lub czekać na nasze wyniki
debugowania
Można uzyskać źródło elementu głównego, drukować i czytać ją jako XML dla celów debugowania (for webdriver.io: http://webdriver.io/api/property/getSource.html)