Использование Appium для тестирования iOS приложений

Добрый день, коллеги.

Наверное мой вопрос уже здесь ранее задавался -однако же поиском найти не удалось. Заранее извиняюсь если повторяюсь.
Возникла необходимость в написании тестов для нашего iOS приложения, и после долгих исканий пришел к Appium. Прошу вашего совета вот в чем. При развертывании сервиса в настройках необходимо указать путь к файлы приложения - расширения ipa / app. В xCode создал файл приложения ipa, но подложить этот файл апиуму нельзя, ведь файл сгенерирован для девайса, а запускаю я апиум с эмулятором, и архитектуры разные.

Соственно, вопрос как создать файл приложения который бы мог быть использован в качестве приложения в апиум?

Сейчас выходим из положения запуская xcode а в appium активировав галку NO RESET. Но это не совсем хорошее решение проблемы на мой вкус.Подскажите как быть?

Вот мой скрипт сборки приложения для симулятора:

 #! /bin/bash
SOURCE_PATH=/var/iOS/dev
cd $SOURCE_PATH
echo "Удаляем старые логи..." 
rm -f build/build_dev.log
rm -f build/pack_dev.log
xcodebuild -configuration "Debug" -sdk iphonesimulator VALID_ARCHS="armv7 armv7s arm64 i386 x86_64" > build/build_dev.log
if [[ "$?" != "0" ]]
then
	echo "Сборка не удалась, код ошибки $? , см. содержимое $PWD/build/build_dev.log"
	echo -e "\033[1;31m-= FAILED =-\033[0m"
	exit 1
fi
echo -e "\033[4;32mСборка успешна!!!\033[0m"
xcrun -sdk iphoneos PackageApplication -v "$SOURCE_PATH/build/Debug-iphonesimulator/<Имя вашего пакета>.app" -o "$SOURCE_PATH/app/<Имя вашего пакета>.ipa" > build/pack_dev.log
if [[ "$?" != "0" ]]
then
	echo "Упаковка не удалась, код ошибки $? , см. содержимое $PWD/build/pack_dev.log"
	echo -e "\033[1;31m-= FAILED =-\033[0m"
	exit 2
fi
echo -e "\033[4;32mУпаковка успешна!!!\033[0m"
echo -e "\033[1;34m-= BUILD SUCCESSFUL =-\033[0m"
exit 0
2 лайка

RayRom, Спасибо. В чистом виде правда не прошел у меня, но после некоторых плясок с бубном и ковыряния в xcodebuild вывел себе рабочую формулу. Если кому-то пригодится - выдергиваю на маке так:

xcodebuild -scheme "MY_SCHEME" -sdk iphonesimulator ONLY_ACTIVE_ARCH=NO DEPLOYMENT_LOCATION=YES

Результатом возвращается расположение app который вполне кушает апиум.

Я забыл добавить что в xcode нежно отключать подпись проекта тогда симулятор хавает нормально.

1 лайк

беру программы с 4pda и вставлю их в аппиум


но все они вот так вроде запускаются на секунду и потом вылетают, что делать? какой либо проект скомпиленный в xcode и запущ в симуляторе, норм открывает.

походу это как раз из-за подписи в этих .Ipa файлах? То есть все прилаги с этого сайта нельзя запускать на симуляторе

В симуляторе работают приложения которые собраны в режиме debug с подключением библиотеки симулятора. На счет подписи не уверен но я отключаю подпись.

Господа обратите внимание на xctool он весьма неплохо упрощает жизнь :slight_smile:

1 лайк

что оно дает?
вроде апиум настроит на другое нельзя, или это для разработчиков, чтобы делать билд для тестера?

Это инструмент для сборки приложений :slight_smile:

тестеру то есть соверш не нужен он?

Если тестер не собирает приложение сам , то нет , а если собирает и тестит его потом автоматически то нужен :slight_smile:
Внимательно посмотри на сообщения предыдущих ораторов , ты не можешь взять любое попавшееся приложение и запустить на нем автотесты. У тебя должен быть исходный код приложения и ты должен собрать приложение определенным образом из кодов чтоб оно могло быть автоматизированно .

хмм как я понял - можно и на другом компе главное -> режиме debug с подключением библиотеки симулятора. На счет подписи не уверен но я отключаю подпись.

а то если надо кидать исходники на комп где будут запускать, уже не особо приятно

Я разве писал что кода должны быть на одной и той же машине где и тесты ?
С тестами на машине должно быть приложение собранное из кодов :slight_smile:

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

Плохо писать о том чего не знаешь в деталях :smile: