Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Appium,как сделать чтобы sendkeys не очищало поле ввода перед вставкой?


(Hulk) #1

Логика android приложения такая: при нажатии на кнопку в текстовом поле появляется текст. Мне нужно ввести в это поле мое значение и нажать отправить - в результате отобразиться “текст” и “мое значение”.
Проблема в том что при использовании sendkeys нужный текст выделяется и заменяется вставкой значения которое я передаю. Как сделать чтобы этого не было?
Только способом - getText поля перед вводом и затем sendKeys(getText + мое значение) ?


(Ray Romanov) #2

element.clear()
element.sendKeys(‘some text’) or .setValue(‘some text’)


(Hulk) #3

Я видимо не правильно выразился)
поле для ввода уже имеет введенный текст - @TestText
я вызываю sendKeys(“Тестовое сообщение”)
что делает appium:
выделяет текст @TestText, очищает и вставляет Тестовое сообщение - итог в поле текст:Тестовое сообщение
а мне надо:
чтобы к тексту @TestText добавлялся мой текст Тестовое сообщение и в итоге было:
@TestText Тестовое сообщение


(Ray Romanov) #4

Странно sendKeys не должно очищать поле, только setValue очищает…
А так только гет + текст


(Максим Рублёв) #5

Здравствуйте

sendKeys(‘text’)

В браузере на ПК всегда отрабатывает так находит поле и вставляет туда значение, которое вы передаёте, если что-то уже было он добавляет в это поле, передаваемый текст, если конечно перед send(’…’) вы не делаете clear().


(Hulk) #6

не делаю я clear()
в данном случае я использую android приложение, хотя сути нет наверное и мне кажется очистка поля перед вставкой вшита в метод sendKeys


(Ray Romanov) #7

Посмотри в исходниках библиотеки что используешь, как там это запилено (я всегда так делаю)…


(Alexander) #8

В первую очередь, как уже советовали, надо поискать clear(). Вы его не использовали, но где-то он может быть впилен. Во-вторых, если все же это черная магия и козни злопыхателей - можно вытягивать текущее значение из инпута, лепить к нему то, что вы собираетесь добавить и выплонять этот вражеский sendKeys.


(Yaroslav Pernerovskyy) #9

Это на самом деле ‘баг’ аппиума, прочитайте тред, там есть отсылки к причине, но похоже не пофиксили еще: