TIL. Detox를 정복해보자 -9/25

예흠·2020년 9월 25일
0

wecode

목록 보기
43/43
post-custom-banner

Detox

- Matchers

1. by.id(id)

:React Native 에서는 태그에 props로 testID를 전달해 줘서 사용한다.

element(by.id('tap_me'));

2. by.label(label)

: Match elements with the specified accessibility label (iOS) or content description (Android). In React Native, this corresponds to the value in the accessibilityLabel prop.

element(by.label('Welcome'));

- Expect

1. toBeVisible()

: 화면에 표시가 되는가?
: On iOS, visibility is defined by having the view, or one of its subviews, be topmost at the view's activation point on screen.
: 화면에 나타나지 않으면(표시되는 화면의 75%보다 아래에 있다면?) 실패함;;

await expect(element(by.id('UniqueId204'))).toBeVisible();

2. toExist()

: Expects the element to exist within the app’s current UI hierarchy.

await expect(element(by.id('UniqueId205'))).toExist();

3. withTimeout(timeout)

:지정된 시간 동안 예상치가 해결 될 때까지 기다립니다. 해결 전에 시간 초과에 도달하면 예상이 실패합니다.

await waitFor(element(by.id('UniqueId204'))).toBeVisible().withTimeout(2000);

- Actions

1. tap(point)

: 지정된 지점 또는 지점이 지정되지 않은 경우 요소의 활성화 지점에서 요소의 탭을 시뮬레이션합니다.

await element(by.id('tappable')).tap();
await element(by.id('tappable')).tap({x:5, y:10});

2. whileElement(element)

:지정된 예상치가 해결 될 때까지 스크롤 요소를 계속 스크롤합니다. 예상이 해결되지 않는 동안 스크롤 요소의 가장자리에 도달하면 작업이 실패합니다.

await waitFor(element(by.text('Text5'))).toBeVisible().whileElement(by.id('ScrollView630')).scroll(50, 'down');

- 꿀팁 🍯🐝

console.disableYellowBox = true;

이것은 시뮬레이터에서 dismiss, warning을 안보이게 해준다!!

profile
노래하는 개발자입니다.
post-custom-banner

0개의 댓글