Приложение android, которое я тестирую с помощью Appium с Java, имеет функцию тегов / упоминаний пользователей. Теперь я хочу проверить эту функцию. Я хотел бы отправить несколько упоминаний и убедиться, что они отправлены или нет. Приложение, которое я тестирую, похоже на приложение Slack / Messaging.
Шаги теста :
- Открыть чат
- Нажмите на Отправить сообщение, чтобы активировать клавиатуру.
- Введите @ и дождитесь появления списка пользователей для добавления тегов / упоминаний
- Нажмите пользователя 1
- Отправьте пробел после того, как пользователь1 был помечен / упомянутый
- Введите @ еще раз и дождитесь появления списка пользователей для добавления тегов / упоминаний
- Нажмите пользователя 2
- Нажмите кнопку отправки сообщения
I использую объектную модель страницы. Таким образом, чтобы выполнить описанные выше шаги, я создал метод с именем sendMultiMention в классе страницы следующим образом:
@Override
public ChatroomPage sendMultiMention(int index0, int index1){
sendKeyToElement(SENDMESSAGEFIELD, "@");
List<MobileElement> mentionPersonNamesList =
waitAndReturnElementListIfDisplayed(MENTIONPERSONNAME);
MobileElement mentionPersonNameSelect0 = mentionPersonNamesList.get(index0);
tapOnElement(mentionPersonNameSelect0);
sendKeyToElement(SENDMESSAGEFIELD, "@");
MobileElement mentionPersonNameSelect1 = mentionPersonNamesList.get(index1);
tapOnElement(mentionPersonNameSelect1);
tapOnElement(SENDMESSAGEBUTTON);
return this;
}
Таким образом, проблема с указанным кодом заключается в том, что 2-й sendKeytoElement перезаписывает (т.е. очищает) ранее заполненный текст в отправьте текстовое поле сообщения.
Итак, он делает следующее: types @ -> selects user1 -> clears @ user1 -> types @ again -> selects @ user2.
Но что я хочу сделать следующее: types @ -> select user1 -> дать пробел -> types @ again -> selects @ user2
(т.е. НЕ УДАЛЯТЬ @ user1 ИЗ ПОЛЕ ТЕКСТА ОТПРАВЛЕНИЯ СООБЩЕНИЯ )
Любая помощь будет высоко оценена!