2015-02-18 1 views
1

У Android есть способ, при помощи которого вы можете превратить текст в кнопку. Вы устанавливаете элемент кликабельным, а затем определяете для него метод onClick().Appium testing: нажатие на текстовое окно при нажатии = true

На стороне Аппира я вижу, что текст элемента заканчивается символом «@». Например, из "пользовательского интерфейса Automator просмотра":

(2) TextView: Покупка пункт @ [69,1038] [1011,1110]

символ '@' отображается как символ стрелка на фактический телефон и щелчок по стрелке, и только стрелка, приведет вас к другому диалогу (один для совершения покупки в этом случае). Ручное нажатие на сам текст не перемещает приложение в диалоговом окне. Работает только щелчок по стрелке.

Мой Python код выглядит следующим образом:

self.driver.find_element_by_id("com.mycompany.project:id/make_a_purchase_text").click() 

Метод нажмите() не принимает меня к правильному диалогу. На самом деле ничего очевидного не происходит вообще. Я нажимаю() на множество элементов, которые являются кнопками, чтобы добраться до этой точки, поэтому я знаю, что моя настройка хороша. Есть ли какая-либо поддержка в Appium для такого контроля?

ответ

0

Я не уверен, что это лучший способ сделать это. Мне кажется, что селен WebElement не может обнаружить дополнительные свойства, данные TextView или UIAStaticText. Поэтому, когда мы назначаем свойство click, базовый класс за элементом не может выполнять событие click. Итак, в качестве обходного пути я отправил событие касания в требуемое положение x, y

driver.executeScript("mobile: tap", new HashMap<String, Double>() { 
      { 
       put("tapCount", 1d); 
       put("touchCount", 1d); 
       put("duration", 0.52478515625); 
       put("x", 127d); 
       put("y", 571d); 
      } 
     }); 
Смежные вопросы