2015-09-30 2 views
1

Один из моих тестов - нажать на ссылку.Calabash-android: Попытка «коснуться» ссылки, что часть предложения

Проблема в том, что ссылка является частью предложения: «для входа в систему, нажмите здесь» («здесь» есть ссылка).

Это не сработает, если я пытаюсь коснуться самого предложения. ->touch(query(“* text:’ to login, press here’”))

Любая идея, как я могу коснуться только ссылки?

Пытался использовать позиции x/y, но проверял его на других устройствах Android, и он не будет работать правильно (проблема разрешения).

query(“*”) Результат:

`"id" => nil, 
      "enabled" => true, 
"contentDescription" => nil, 
       "text" => to login, press here", 
      "visible" => true, 
       "tag" => nil, 
     "description" => "md5434416eb11d5314a89721b66815c1e97.RichText{52847bcc VFED..CL ......I. 0,805-1080,1014}", 
      "class" => "md5434416eb11d5314a89721b66815c1e97.RichText", 
       "rect" => { 
    "center_y" => 984, 
    "center_x" => 540, 
     "height" => 209, 
      "y" => 880, 
     "width" => 1080, 
      "x" => 0` 

Ваши мысли?

+0

Вы пытались добавить атрибут 'android: autoLink =" web "в свой TextView? Таким образом он будет выделять любые ссылки там, и вы можете нажать на них. – AdamMc331

+0

Как я могу добавить это? (новый для Ruby :)) –

ответ

0

Вы пробовали это? :

Then /^I touch the "([^\"]*)" text$/ do |text| 
     tap_when_element_exists("* {text CONTAINS[c] '#{text}'}") 
    end 

Можете ли вы предоставить мне больше информации о том, в каком контейнере он хотел бы видеть, что находится над и под этим. Спасибо;)

+0

это не сработает - он попытается коснуться середины предложения, а не в конце предложения (где находится ссылка) --- Я добавил параметр show showhes устройство, и я вижу, что он пытается там коснуться. спасибо! –

+0

np. по крайней мере, я очень помогаю;) – Hikaryu

+0

@NirOrtal Как его решить? Можете ли вы поделиться мной более подробно, потому что я инвестирую в этом случае. Благодаря ! – Tama