Appium | ошибки при установке на Windows - Error finding binary


(Evgeniy Strugin) #1

Привет!
Я в автоматизации вообще не бум-бум. Да и в самом тестировании я не так давно. Сейчас занимаюсь ручным функциональным тестированием мобильных приложений.
Но хочу познакомится и изучать автоматизацию.
Сейчас мучаюсь с установкой аппиума на винде, чтоб тестировать андройд приложения. но что то совсем не получается ничего.
Сначала делал все как в офф документации но на заключительной фразе: “Now that you’ve downloaded everything, run: reset.bat” застрял

Потом наткнулся на вот этот ваш пост. Все сделал по шагам, только на 6 выдало ряд ошибок, в конце пишет:

=====Resetting Android=====

node_modules\.bin\grunt configAndroidBootstrap
Running "configAndroidBootstrap" task
Updated file F:\1DEVELOP_ANDROID\appium\lib\devices\android\bootstrap\build.xml

Done, without errors.
node_modules\.bin\grunt buildAndroidBootstrap
Running "buildAndroidBootstrap" task
Fatal error: Error finding ant binary, is it on your path?

Stopping because there was an error and --force was not used

F:\1DEVELOP_ANDROID\appium>node .
error: Could not find config file: F:\1DEVELOP_ANDROID\appium\.appiumconfig.json
; looks like config hasn't been run. Please run reset.sh or appium configure.
error: uncaughtException: Could not find config file: F:\1DEVELOP_ANDROID\appium
\.appiumconfig.json; looks like config hasn't been run. Please run reset.sh or a
ppium configure. date=Wed Jul 09 2014 21:45:04 GMT+0400 (Московское время (зима)
), pid=7436, uid=null, gid=null, cwd=F:\1DEVELOP_ANDROID\appium, execPath=C:\Pro
gram Files (x86)\nodejs\node.exe, version=v0.10.29, argv=[node, F:\1DEVELOP_ANDR
OID\appium], rss=44597248, heapTotal=33986816, heapUsed=20930568, loadavg=[0, 0,
 0], uptime=3026.7460032, trace=[column=13, file=F:\1DEVELOP_ANDROID\appium\lib\
helpers.js, function=exports.getAppiumConfig, line=587, method=getAppiumConfig,
native=false, column=23, file=F:\1DEVELOP_ANDROID\appium\lib\server\main.js, fun
ction=null, line=125, method=null, native=false, column=21, file=F:\1DEVELOP_AND
ROID\appium\node_modules\async\lib\async.js, function=null, line=610, method=nul
l, native=false, column=17, file=F:\1DEVELOP_ANDROID\appium\node_modules\async\l
ib\async.js, function=null, line=249, method=null, native=false, column=13, file
=F:\1DEVELOP_ANDROID\appium\node_modules\async\lib\async.js, function=iterate, l
ine=149, method=null, native=false, column=9, file=F:\1DEVELOP_ANDROID\appium\no
de_modules\async\lib\async.js, function=async.eachSeries, line=165, method=eachS
eries, native=false, column=13, file=F:\1DEVELOP_ANDROID\appium\node_modules\asy
nc\lib\async.js, function=_asyncMap, line=248, method=null, native=false, column
=23, file=F:\1DEVELOP_ANDROID\appium\node_modules\async\lib\async.js, function=O
bject.mapSeries, line=231, method=mapSeries, native=false, column=19, file=F:\1D
EVELOP_ANDROID\appium\node_modules\async\lib\async.js, function=Object.async.ser
ies, line=608, method=async.series, native=false, column=9, file=F:\1DEVELOP_AND
ROID\appium\lib\server\main.js, function=main, line=123, method=null, native=fal
se], stack=[Error: Could not find config file: F:\1DEVELOP_ANDROID\appium\.appiu
mconfig.json; looks like config hasn't been run. Please run reset.sh or appium c
onfigure.,     at exports.getAppiumConfig (F:\1DEVELOP_ANDROID\appium\lib\helper
s.js:587:13),     at F:\1DEVELOP_ANDROID\appium\lib\server\main.js:125:23,     a
t F:\1DEVELOP_ANDROID\appium\node_modules\async\lib\async.js:610:21,     at F:\1
DEVELOP_ANDROID\appium\node_modules\async\lib\async.js:249:17,     at iterate (F
:\1DEVELOP_ANDROID\appium\node_modules\async\lib\async.js:149:13),     at async.
eachSeries (F:\1DEVELOP_ANDROID\appium\node_modules\async\lib\async.js:165:9),
   at _asyncMap (F:\1DEVELOP_ANDROID\appium\node_modules\async\lib\async.js:248:
13),     at Object.mapSeries (F:\1DEVELOP_ANDROID\appium\node_modules\async\lib\
async.js:231:23),     at Object.async.series (F:\1DEVELOP_ANDROID\appium\node_mo
dules\async\lib\async.js:608:19),     at main (F:\1DEVELOP_ANDROID\appium\lib\se
rver\main.js:123:9)]

Далее на пункте 7 скачал фришную GenyMotion запустил.
Пункт 8 вообще не понимаю.
Что такое RemoteWebDriver ? вбил в гугл выводит на селениум, с коим я ни разу не работал.
вбиваю в адрес http://127.0.0.1:4723/wd/hub пишет страница не найдена =(

Помогите пожалуйста настроить аппиум. А то третий вечер мучаюсь не понимаю как настроить то этот аппиум.

Заранее Спасибо!


Кто работал с appium? Установка под разные ОС
(Dmitry Cheremushkin) #2

Доброго времени суток.

— У вас путь к ant не прописан в PATH.
Прописать — и снова reset.bat --android --selendroid --verbose

Удачи!


(Dmitry Cheremushkin) #3

В настоящее время Selenium WebDriver — это стандарт де-факто в функциональном веб-тестировании, т.е. наиболее известный и широко используемый инструмент. Сейчас принимается в качестве W3C-стандарта.

Все взаимодействие с приложением — т.е. код самих тестов — вы будете писать на основе Selenium WebDriver API (это стандартизированный набор методов, реализованный на разных языках программирования). Appium работает именно в связке с WebDriver API. И никуда вы от последнего не денетесь, если собираетесь использовать Appium — и WebDriver API нужно изучать.


(Dmitry Cheremushkin) #4

Всё-таки для начинающих, я бы рекомендовал инструменты автоматизации, в которых есть Record-And-Replay — т.е. запись и воспроизведение тестовых сценариев. Вы вручную делаете какие-то действия на UI, инструмент их запоминает и экспортирует в код. Таким образом, и тесты начинают появляться в короткое время после начала работы, и тестировщик получает представление, как их писать в виде кода.

Из бесплатных решений, поддерживающих Record-And-Replay для автоматизации мобильных приложений, можно назвать:

Чуть посложнее и ближе к коду — Calabash (Android & iOS). Имеет встроенные шаблоны автоматизации. Но расширять функционал и писать более сложные тесты можно только на Ruby.

Для начинающих автоматизаторов, не работавших с Selenium, вышеперечисленные решения будут более эффективной альтернативой Appium. Рекомендую обратить на них внимание.

Если же всё-таки захотите использовать Appium, то упростить написание тестов поможет Robot Framework — тесты пишутся на человекоподобном языке, по аналогии с Calabash. robotframework-appiumlibrary — решение, обеспечивающее связку Appium + Robot Framework.


(Evgeniy Strugin) #5

Спасибо за столь быстрый ответ!

Путь к ant - это имеется ввиду apache-ant-1.9.4 ?
Вот моя часть PATH

C:\Program Files (x86)\nodejs\;C:\Program Files\Java\jdk1.8.0_05\bin\;F:\1DEVELOP_ANDROID\sdk\tools\;F:\1DEVELOP_ANDROID\sdk\platform-tools;F:\apache-ant-1.9.4\;%M2HOME\bin;F:\Git\cmd

может где-то что-то не так прописал? Сами пути к папкам верны.
поправил путь добавив в конце пути F:\apache-ant-1.9.4 слэш
в итоге портянка выдаваемая после reset.bat --android --selendroid --verbose
стала значительно меньше:

F:\1DEVELOP_ANDROID\appium>reset.bat --android --selendroid --verbose

=====Installing dependencies with npm=====

npm install .
npm WARN package.json bufferpack@0.0.6 No README data
npm WARN package.json md5calculator@0.0.3 No repository field.
npm WARN package.json node-idevice@0.1.2 No repository field.
npm WARN package.json path@0.4.9 path is also the name of a node core module.
npm WARN package.json path@0.4.9 No README data
npm WARN package.json assert@1.1.1 assert is also the name of a node core module
.
npm WARN package.json utf7@1.0.0 No repository field.
npm WARN package.json vargs@0.1.0 No repository field.
=====Finished installing dependencies with npm=====


=====Resetting Android=====

node_modules\.bin\grunt configAndroidBootstrap
Running "configAndroidBootstrap" task
Updated file F:\1DEVELOP_ANDROID\appium\lib\devices\android\bootstrap\build.xml

Done, without errors.
node_modules\.bin\grunt buildAndroidBootstrap
Running "buildAndroidBootstrap" task
Fatal error: Error finding ant binary, is it on your path?

Stopping because there was an error and --force was not used

F:\1DEVELOP_ANDROID\appium>

За инструменты Record-And-Play спасибо обращу внимание на них!


(Dmitry Cheremushkin) #6

— В ant-директории, прописанной в PATH должен находиться файл ant.exe.

Скорей всего в вашем случае будет так: F:\apache-ant-1.9.4\bin\


(Evgeniy Strugin) #7

Дмитрий, еще раз спасибо что помогаете!
На этот раз продвинулся дальше.
теперь такая ошибка:

=====Reset ChromeDriver Complete=====

=====Resetting Selendroid=====

Clearing out any old modified server apks
Не удается найти указанный файл.
Синтаксическая ошибка в имени файла, имени папки или метке тома.
Cloning/updating selendroid
Не удается найти указанный файл.
Не удается найти указанный файл.
git submodule update --init submodules\selendroid
Не удается найти указанный файл.
Building selendroid server and supporting libraries
set MAVEN_OPTS=-Xms512m -Xmx512m -Xss2048k
node_modules\.bin\grunt buildSelendroidServer
Running "buildSelendroidServer" task
Building selendroid server
Getting Selendroid version
Selendroid version is 0.10.0
Unable to build selendroid server. Stdout was:

"mvn" ?? ?????? ???????? ??? ?????
????????, ??????? ?????? ??? ???????? ????.

Warning: Command failed: "mvn" ?? ?????? ???????? ??? ?????
????????, ??????? ?????? ??? ???????? ????.
 Use --force to continue.

Aborted due to warnings.

Stopping because there was an error and --force was not used

F:\1DEVELOP_ANDROID\appium>

(Dmitry Cheremushkin) #8
  • maven у вас стоит?
  • директория к maven, прописанная в PATH, содержит mvn.exe?

(Yuriy Rumyantsev) #9

MKDIR build\unlock_apk
Building Unlock.apk
git submodule update --init submodules\unlock_apk
fatal: Not a git repository (or any of the parent directories): .git

Stopping because there was an error and --force was not used

Вот такая ошибка появляется.
Помогите, куда дальше двигаться?


(Yuriy Rumyantsev) #10

разобрался сам


(Sergey Korol) #11

Если разобрались, напишите решение. Может кому-то еще пригодится.


(Yuriy Rumyantsev) #12

перепроверил все переменные (SDK, ant, maven и пр.), заново склонил appium и выполнил reset.bat


(Dmitry Cheremushkin) #13

6 сообщений перенесены в новую тему: Appium | ошибки при установке - Python & source resouce does not exist