Я пытаюсь выполнить сквозные (e2e) тесты с помощью Detox в моем приложении Gifted Chat. Я делаю тест, в котором набираю случайную строку, нажимаю «отправить» и утверждаю, что сообщение находится в ListView.
Хотя я действительно могу получать сообщения для отправки, мои сообщения об утверждении либо всегда проходят, либо всегда терпят неудачу.
Я пытаюсь обнаружить элемент с помощью by.text(randomMessage)
, но мне кажется, что это плохая стратегия выбора. Я не могу найти способ передачи идентификаторов сообщениям.
Этот тест всегда будет проходить:
it('should send a new message', async () => {
// Send the string
await element(by.id('chat_input')).tap();
await element(by.id('chat_input')).typeText(randomMessage);
await element(by.id('chat_input')).tapAtPoint({ x:320, y:15 });
// ASSERT the string was sent
await waitFor(element(by.text(randomMessage))).toBeVisible().withTimeout(5000);
});
Этот тест всегда будет неудачным:
it('should send a new message', async () => {
// Send the string
await element(by.id('chat_input')).tap();
await element(by.id('chat_input')).typeText(randomMessage);
await element(by.id('chat_input')).tapAtPoint({ x:320, y:15 });
// ASSERT the string was sent
await expect(element(by.text(randomMessage))).toBeVisible();
});
Как я могу надежно идентифицировать сообщения в одаренном чате? Могу ли я получить или установить реквизит testID для каждого сообщения?