我正在尝试在我的Gifted Chat应用中使用Detox运行端到端(e2e)测试。我在输入随机字符串的地方进行测试,点击发送并断言消息在ListView上。
虽然我实际上可以发送消息,但断言消息总是通过还是总是失败。
我尝试使用by.text(randomMessage)
检测元素,但是我觉得这是一个错误的选择策略。我找不到将ID传递给邮件的方法。
此测试将始终通过:
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属性吗?