2015-08-31 3 views
0

Я пытаюсь выполнить некоторые автоматические тесты пользовательского интерфейса с помощью Calabash, все отлично работает, когда я работаю на симуляторах iOS 8, однако, в ту минуту, когда я переключаюсь на симулятор iOS 7, он, похоже, не может полностью запустить приложение.calabash-ios не работает с iOS 7.1 Симуляторы

Приложение откроется, закроет экран заставки, а затем вскоре после его сбоя, а калабас снова повторит попытку. Это продолжается бесконечно, пока я вручную не уйду.

Единственное изменение между работой мой оконечное устройство, в настоящее время я использую следующие для целевого устройства:

DEVICE_TARGET="iPhone 5 (7.1 Simulator)" 

И когда я бегу на 8.4 устройства, он выглядит следующим образом:

DEVICE_TARGET="iPhone 5 (8.4 Simulator)" 

Любые идеи, почему это не работает? 7.1 не поддерживается на calabash-ios?

Подробнее:

  • кальян является версия 0.14.3
  • Он работает безупречно на других тренажерах, iPhone 6, iPhone 6 Plus, iPhone 5s, до тех пор, как его погонных IOS 8 или выше
  • Я не могу выполнить конкретное тестирование, которое я хочу сделать на iOS 8 на данный момент, у нас есть ошибка UI, присутствующая только в iOS 8, поэтому этот конкретный тест должен быть запущен в iOS 7 до тех пор, пока проблема пользовательского интерфейса исправлено
  • Я знаю функцию, которую я пытаюсь запустить, и что моя установка калабаса является corr ect, это один из последних тестовых сценариев, которые мне нужно запускать и писать, а все остальные работают безупречно, поэтому я подозреваю, что это может быть проблема с iOS 7 или то, как мои симуляторы iOS 7 настроены по сравнению с iOS 8 из них.

Буду признателен за любую помощь, которую вы можете предоставить!

ответ

1

ОБНОВЛЕНИЕ В этом SO answer есть предложения по устранению этой проблемы.

Официально Calabash iOS поддерживает iOS> = 7.1 симуляторы на Yosemite и iOS> = 7.0.3 на Mavericks.

У вас есть такая же проблема на физических устройствах?

Если у вас есть:

  1. изменил расположение в файловой системе или переименовать каталог Xcode.app,
  2. установил новую версию Xcode или
  3. установлен новый IOS Simulator

вы должны перезагрузить свой Mac, чтобы получить среду CoreSimulator в хорошей форме.

С учетом сказанного, я работаю над интеграционными тестами для run-loop, и я вижу необъяснимые ошибки при запуске iOS 7.1-симуляторов в Xcode 6.4 на Yosemite. Похоже, что UIAutomation недоступен на iOS 7.1 симуляторах на Yosemite.

$ DEBUG=1 be run-loop instruments \ 
    launch --app ./CalSmoke-cal.app \ 
    --device "iPhone 5s (7.1 Simulator)" 
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 
0 libsystem_kernel.dylib   0x00000001032a6286 __pthread_kill + 10 
1 libsystem_sim_c.dylib   0x0000000102fd4e59 abort + 101 
2 com.apple.ScreenReaderCore  0x00000001047d3114 SCRCUncaughtExceptionHandler + 97 
3 com.apple.CoreFoundation  0x0000000100691bf5 __handleUncaughtException + 629 
4 libobjc.A.dylib     0x00000001025bebf5 _objc_terminate() + 94 
5 libc++abi.dylib     0x0000000102e4de91 std::__terminate(void (*)()) + 8 
6 libc++abi.dylib     0x0000000102e4d91d __cxa_throw + 124 
7 libobjc.A.dylib     0x00000001025bea9d objc_exception_throw + 298 
8 com.apple.CoreFoundation  0x000000010060d2ad +[NSException raise:format:] + 205 
9 com.apple.UIAutomation   0x0000000100de96f7 +[UIAXElement initializeAccessibility] + 540 
10 com.apple.UIAutomation   0x0000000100dec791 +[UIAXElement uiaxSystemWideElement] + 36 
11 com.apple.UIAutomation   0x0000000100dff833 -[UIATarget init] + 300 
12 com.apple.UIAutomation   0x0000000100dff6f9 +[UIATarget localTarget] + 53 
13 ScriptAgent      0x0000000100008ea8 0x100000000 + 36520 
14 ScriptAgent      0x0000000100004b17 0x100000000 + 19223 
15 ScriptAgent      0x0000000100006e22 0x100000000 + 28194 
16 libdyld.dylib     0x00000001031795c9 start + 1 

Я пробовал пару патчей на run-loop, но ничего не работает.

Существует также это от Console.app

com.apple.CoreSimulator.CoreSimulatorService[81434]: Failed to open 
/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib: 
dlopen(/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib, 1): no suitable image found. 
Did find: 
/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib: 
mmap() error 1 at address=0x11837B000, size=0x00002000 segment=__TEXT in Segment::map() 
mapping /Library/Developer/CoreSimulator/Profiles/Runtimes/iOS 7.1.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/host/liblaunch_sim.dylib 
+0

Блин .... Спасибо за очень подробный ответ! Дал мне много информации о калабаше, так как я до сих пор так новичок в автоматическом тестировании пользовательского интерфейса. Хорошо, похоже, что я уйду на экскурсию, чтобы исправить проблемы пользовательского интерфейса в iOS 8, чтобы я мог провести мое тестирование. –

+0

Отслеживание этой проблемы здесь: https://github.com/calabash/calabash-ios/issues/819 – jmoody

Смежные вопросы