Автоматизация Mobile платформ

У кого есть опыт автоматизации mobile приложений(iOS, Android, Symbian, BlackBerry)? Что вы для этого используете? С какими проблемами столкнулись?

Определенный опыт есть. Использую Sikuli (http://sikuli.org/) для некоторых видов тестирования приложений под iOS на симуляторе. Также применял его для некоторых задач под эмулятор WinPhone.

На InfoQ недавно появилась презентация нескольких инструментов для тестирования под iOS - "Testing, Testing, iOS" - http://www.infoq.com/presentations/Testing-Testing-iOS . Три первых инструмента описывают скорее unit-тестирование, три других - какое-то тестирование UI. Не понравилось то, что практически всем нужна  интеграция с кодом проекта, каких-то вставок в него. Так что, пожалуй, останусь на Sikuli, там можно работать со всем, что выводится на экран.

Для blackberry у меня это Sikuli, но работает не всегда стабильно и для каждого другого типа эмулятора нужно делать новые картинки.

Android - это Robotium

А никто не думал напрямую использовать библиотеку OpenCV ( она использована в Sikuli )?

а чем это лучше использования sikuli напрямую?

А что посоветуете для тестирования Windows Phone?

 

Со "стороны программеров" с windows phone работает любой современный юнит тестовый фреймворк (лично я применительно к winphone не пробовал).

к примеру, autofac.org -поддерживает 7 (а вас 7 или 8 интересует?).

upd: ninject.org тоже.

Меня интересует 8.

"стороны программеров" -- вы имеете в виду именно юнит тесты?

Поиск гуглом не дал результатов. Жаль, что нет чего-нибудь вроде Robotium.

Интересно, а разве приложения для Windows Phone 8 не те же самые, что и для Windows 8? Вроде бы WinRT шаренное между десктопом, ARM'ом и планшетом x86.

Попробуйте часть тестов выполнить на ПК - возможно, получится выгадать во времени и усилиях.

 

да, autofac и ninject или для авторов кода, или если исходники доступны (но писать юнит-тесты за другого парня - это не только смешно, но и тяжело, особенно, если другой парень юнит-тестами заниматься не будет).

Вообще не представляю, как эту штуковину тестить :)

Установил из 11-й (2012-й) студии Windows Phone SDK 8.0 (поддерживает 7.1 и 8), выпек простенькое приложение, которое по кнопке ишет в текстблок, да и запустил Hyper-V эмулятор.

Что можно сказать? Выглядит красиво, получает IP от Hyper-V (один APIPA, один из нашей сети).

Но есть несколько НО:

1) на клавиатуре пожалте набирать на той, которая в тлф (не знаю, может злыдни таки пожалели нас и сделали маппинг на декстопную клаву? пока не искал).

2) сеть телефонная, как водится, фейковая Fake GSM Network

3) хотел было получить что-нибудь вроде cmd.exe (а получив, можно и если не мир, то ось перевернуть) - так IE навострили, похоже, посылать с file:///

4) как закинуть туда приложение ума не приложу. :) Какой-нибудь файл эксплорер от виндовс мобайла портировать на винфон разве что. Или третьесторонний эксплорер для винды (не самому же писать такую чушь).

 

Ещё где-то летом был выпущен ремоутный эмулятор (тогда его работоспособность авторы проверяли на десктопной винде), позволяющий с айпада руками тестить метро-приложения. Не знаю, существует ли он ещё сейчас. Тогда стоил 25 (кажется, долларов).

 

На сейчас резюме такое: тестировать приложения метро на десктопе и не мучиться. Время от времени поглядывать руками на железяке или на эмуляторе (рекомендации по настройке эмуляторов есть на MSDN, ещё для прошлой винфоне они были).

Мне нравятся эти советы!

Как сделать приложение работающим на 7.1 и на 8?

Оказывается, написать под 7.1 на сдк 8, 

протестить на эмуляторе 7.1 и на железяке 7.1,

на эмуляторе 8 и на железяке 8.

И всё! А мы-то думали, что есть какое-то тайное знание :)

Creating a single Windows Phone OS 7.1 app that runs on Windows Phone 8 and Windows Phone OS 7.1

The easiest way to create an app or game that runs on both Windows Phone 8 and Windows Phone OS 7.1 is to create an app that targets Windows Phone OS 7.1 and test it against both versions. However, this app can’t use new features or APIs introduced in Windows Phone 8.

To create a single Windows Phone OS 7.1 app that runs on Windows Phone 8 and Windows Phone OS 7.1 

  1. Using Windows Phone SDK 8.0, create an app that targets Windows Phone OS 7.1.

  2. Test the app using the Windows Phone OS 7.1 Emulator provided with Windows Phone SDK 8.0. Also deploy and test the app on a Windows Phone OS 7.1 device.

  3. Test the app using the Windows Phone 8 Emulator provided with the Windows Phone SDK 8.0. Also deploy and test the app on a Windows Phone 8 device.

An alternate approach is to factor common logic into a library project that targets Windows Phone OS 7.1. Then reference this library project from both the Windows Phone OS 7.1 and the Windows Phone 8 app projects.


беглый поиск гуглом приводит нас к https://github.com/Expensify/WindowsPhoneTestFramework. Нужно будет ознакомиться на свежую голову.

а вот еще кое-что http://social.msdn.microsoft.com/Search/en-US/windowsphone?query=automated%20test&refinement=184&ac=8

тут всё  кучу, люди, кони - automated tests от Coded UI 2010 и win phone замешались

Тестеры подскажите плиз. Представте что у вас только что установили Windows 7

1.Как установить Robotium?
2.Что для этого нужно?  
3.Как на нем тестить и т.д.?
4.Как его использовать?
5.Как запустакть тесты? 
6.Как их анализировать?
7.Как читать и понимать логи?

Вообщем чем больше раскажите тем лучше будут прилаги))
Плюсом будет если с видео и примерами.
Спасибо:)

 

Наверное, наиболее полній ответ это http://code.google.com/p/robotium/

Приложение под Surface средствами Sikuli (+Java) возможно автомаизировать?

 

Surface - это же обычная Windows RT выделки самих мелкософтовцев? Можно большую часть тестов провести на Windows 8.

sikuli не важно, что за технология используется, он просто смотрит на экран

конечно sikuli не идеальный инструмент автоматизации, и если есть инструмент, который напрямую может достучаться к контролам, то лучше его использовать

но если нет, то sikuli в самый раз

Побуду некропостером.
Есть приложения, которые написаны с помощью Marmalade SDK, потом эта вся кухня запускается на андроиде и iOS. Вот хотел поинтересоваться, кто-то пробовал такое автоматизировать? Желательно, конечно, достучаться как-то до контролов, но если это невозможно, то нужны какие нибудь утилиты которые могут работать на уже установленных приложениях в реальных девайсах (эмуляторы не вариант). Буду благодарен за советы.