2015-10-13 1 views
0

клиент: рубиново-2.1.5/драгоценные камни/кальян-огурец-0.16.3 сервер: "Версия": "0.16.2"Когда Calabash iOS отправляет мне ***** в его результатах, что это значит?

Я добавил некоторые отладки вокруг карты(). Обычный запрос возвращает это:

Кнопка {: query => "отмечена:« Другие параметры »,: method =>: query,: args => [{: isEnabled => 1}],: r => {"status_bar_orientation" => "down", "results" => ["*****"], "result" => "SUCCESS"}}

Я не знаю, как интерпретировать *** **.

В map.rb's assert_map_results «*****» - это случай сбоя, поэтому это явно плохо.

В журнале тренажере, я вижу вещи, как

Окт 12 17:37:57 TimBs-MacBook-Pro.local [36121]: - [__ NSCFString objectForKey]: непризнанные селектор посланные например 0x7f7f6fe4f730 октября 12 17:37:57 TimBs-MacBook-Pro.local [36121]: *** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: '- [__ NSCFString objectForKey:]: непризнанный селектор, отправленный в экземпляр 0x7f7f6fe4f730'

, который, как я полагаю, пытается решить, может ли он применяться, isEnabled к строке «*****» вместо объекта, который ведет себя как карта.

Почему они выбрали что-то настолько неинформативное и труднодоступное для поиска в Интернете?


Обновление: Я первоначально имел

element = "button marked:'game hot icon norm'" 
element_exists(element) && query(element, :isEnabled).first.eql?(1) 

но обнаружил ссылку на

query("button isEnabled:1") 

, который я неправильно и приспособленный в качестве запроса ("кнопка", IsEnabled: 1). Это не помогло, но не стало причиной «*****» результатов. К сожалению, возвращаясь к известному хорошему состоянию и постепенно возвращаясь к проблемному состоянию, он никогда не заставлял проблему вновь появляться, несмотря на то, что git сказал, что нет никакой реальной разницы. Я могу только заподозрить грязную сборку.

ответ

0

Это означает, что вы попытались вызвать неизвестный селектор объекта Objective-C. В этом случае что-то вызывает objectForKey: по экземпляру NSString.

Каков запрос или жест, который вы пытаетесь запустить?

Является ли это:

query("button marked:'Other options'", [{:isEnabled => 1}]) 

Если да, то проблема заключается в том, что NSButton не реагирует на isEnabled: (обратите внимание на заднюю :). Это аксессор. Установитель: setEnabled:.

Если вы пытаетесь фильтровать включенным Несс:

query("button marked:'Other options'", :isEnabled) 

Если вы пытаетесь установить разрешенное состояние:

query("button marked:'Other options'", [{:setEnabled => 1}]) 

С какой стати они выбирают что-то так неинформативное и повязку трудно найти в Интернете?

Трудно изменить, поскольку Calabash застрял в 0.x и использует семантическое управление версиями, поэтому API нельзя изменить до версии 1.x. Я верю (но не помню) Calabash 2.0 дает лучшее уведомление.