Как избежать метода sendKeys в селене для очистки ранее заполненного текста? - PullRequest
1 голос
/ 10 апреля 2020

Приложение android, которое я тестирую с помощью Appium с Java, имеет функцию тегов / упоминаний пользователей. Теперь я хочу проверить эту функцию. Я хотел бы отправить несколько упоминаний и убедиться, что они отправлены или нет. Приложение, которое я тестирую, похоже на приложение Slack / Messaging.

Шаги теста :

  1. Открыть чат
  2. Нажмите на Отправить сообщение, чтобы активировать клавиатуру.
  3. Введите @ и дождитесь появления списка пользователей для добавления тегов / упоминаний
  4. Нажмите пользователя 1
  5. Отправьте пробел после того, как пользователь1 был помечен / упомянутый
  6. Введите @ еще раз и дождитесь появления списка пользователей для добавления тегов / упоминаний
  7. Нажмите пользователя 2
  8. Нажмите кнопку отправки сообщения

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 ИЗ ПОЛЕ ТЕКСТА ОТПРАВЛЕНИЯ СООБЩЕНИЯ )

Любая помощь будет высоко оценена!

...