2015-10-05 4 views
0

Я пытаюсь взаимодействовать с элементом на странице, который находится под другим элементом, но скрыт. Запрос calabash возвращает правильный элемент. Tap появляется, чтобы взаимодействовать с элементом, так как я не получаю ошибки, возникшие у меня, и возвращается элемент страницы. Тем не менее, я могу физически коснуться элемента в приложении пальцем, и он работает.Взаимодействие с объектами страницы на одностраничном приложении

Есть ли способ ссылки на какой-либо индекс z или альтернативный способ взаимодействия с элементом?

Примечание: кальян 2.0.0.pre4 с гибридным приложением (ионный)

Благодаря

К сожалению, элемент Я пытаюсь взаимодействовать с видимым. Вот мой запрос:

query "webView css:'#btn_get_a_quote'" 
[ 
    [0] { 
      "center" => { 
      "X" => 186.80419921875, 
      "Y" => 538.7015104293824 
     }, 
      "webView" => "<UIWebView: 0x154e6ed70; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x154e6d8c0>>", 
      "nodeName" => "LI", 
       "id" => "btn_get_a_quote", 
     "textContent" => "\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tGet a Quote\n\t\t\t\t\t\n\t\t\t\t", 
       "class" => "btn-icon in", 
       "rect" => { 
        "x" => 186.8042, 
       "height" => 67.1875, 
        "y" => 538.7015, 
       "width" => 67.1875, 
       "left" => 126.40625, 
       "top" => 426.69195556640625, 
      "center_y" => 538.7015, 
      "center_x" => 186.8042 
     }, 
      "nodeType" => "ELEMENT_NODE" 
    } 
] 

Вот мой кран:

tap "webView css:'#btn_get_a_quote'" 
Getting: http://iphone6-27.local:37265/map {} 
[ 
    [0] { 
      "center" => { 
      "X" => 186.80419921875, 
      "Y" => 538.7015104293824 
     }, 
      "webView" => "<UIWebView: 0x155534d90; frame = (0 0; 320 568); autoresize = W+H; layer = <CALayer: 0x15554d470>>", 
      "nodeName" => "LI", 
       "id" => "btn_get_a_quote", 
     "textContent" => "\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\tGet a Quote\n\t\t\t\t\t\n\t\t\t\t", 
       "class" => "btn-icon in", 
       "rect" => { 
        "x" => 186.8042, 
       "height" => 67.1875, 
        "y" => 538.7015, 
       "width" => 67.1875, 
       "left" => 126.40625, 
       "top" => 426.69195556640625, 
      "center_y" => 538.7015, 
      "center_x" => 186.8042 
     }, 
      "nodeType" => "ELEMENT_NODE" 
    } 
] 

Касание элемент должен взять вас на другую страницу, и работает, когда я физически это сделать.

+0

Как вы получаете доступ к элементу, который хотите нажать? Используете ли вы идентификатор или индекс? По моему опыту, Calabash работает плавно, когда элемент виден, но когда элементы скрыты, вам нужно специально получить к нему доступ по идентификатору или индексу. – ucsunil

+0

Нет индекса z в Калабаше. Calabash - это инструмент для тестирования пользовательского интерфейса. Вам не потребуется доступ к скрытым элементам в пользовательском интерфейсе, поскольку они были скрыты для определенной цели. Если это не видно, доступ к нему будет противоречить парадигме тестирования автоматизации пользовательского интерфейса. – ucsunil

+0

Я использую команду query/tap как таковой, пример ios: запрос "webView css: '# btn_log_in'", и элемент отображается на экране. –

ответ

0

Я пытаюсь взаимодействовать с элементом на странице, которая находится под другой элемент, но скрытый

В вашем комментарии вы говорите, элемент отображается на экране. Что вы подразумеваете под скрытым?

"Webview CSS:" # btn_log_in"

, что запрос? Если нет, можете ли вы вставить актуальный запрос? Снимок экрана также может быть полезен.

Что касается вашей проблемы, вы видели WebView API? Может быть, вам может помочь запрос xpath или javascript?