2014-09-04 4 views
5

Я автоматизирую родное мобильное приложение, используя . До сих пор я запускал сервер из графического интерфейса Appium, нажав кнопку запуска. Теперь я хочу запустить сервер из командной строки.Как запустить сервер Appium из командной строки в машине MAC?

Я был в состоянии сделать то же самое в машине Windows, выполнив следующие действия:

  1. Запуск Node.js Запускается из командной строки
  2. Navigate до бен папку Appium
  3. Используйте команду node appium

Я заблокирован о том, как запустить командную строку Node.js на Mac. Не могли бы вы рассказать мне, как я могу запустить сервер Appium из командной строки на Mac.

+0

Этот вопрос может быть лучше на http://apple.stackexchange.com/ –

ответ

3

, если вы использовали НУЮ установку -g appium, то вы должны быть в состоянии напрямую открывать один с командой

appium //plus any server args you want ex: appium -p 4474 

Или вы можете перейти к папке ваших node_modules и в appium и идти с

node. //plus any server args you want 

Если вы хотите иметь дополнительные флаги сервера, все они доступны на их сайте с документацией.

0
String tellCommand = "tell application \"Terminal\" to do script \"/usr/bin/node_modules/appium/bin/appium.js"; 
     String parameters = " -p "+port; 
     parameters += " "+ (fullReset ? "--full-reset" : "--no-reset")+"\""; 
     tellCommand += parameters; 

     String[] command = { "osascript", "-e", 
     tellCommand }; 

     ProcessBuilder pBuilder = new ProcessBuilder(command); 
     pBuilder.start(); 
1

Для запуска appium в MAC, все, что вам нужно сделать, это ввести =>appium & в терминальном приложении. Чтобы эта команда работала, вам необходимо установить appium в режиме терминала. Однако есть два способа сделать это: один с HomeBrew, а другой - с Node.js. Вы можете найти руководство по установке HomeBrew в Интернете. Выполните следующие действия, чтобы установить его непосредственно с Node.js -

  1. Перейти к https://nodejs.org/
  2. скачать и установить последнюю стабильную версию Node.js пакета в вашем макинтош
  3. Теперь откройте приложение терминала
  4. Выполните следующую команду =>npm install -g appium
  5. Это должно установить Appium в вашей системе с глобальными привилегиями. После установки appium вы можете запустить команду =>appium-doctor в том же окне терминала, чтобы проверить, правильно ли установлено все.
  6. Если все в зеленых клещи, бегите =>appium & запустить сервер appium

Надеется, что это помогло.

1
/Applications/Appium.app/Contents/Resources/node/bin/node /Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js --address 127.0.0.1 --chromedriver-port 9516 --bootstrap-port 4725 --no-reset --local-timezone --command-timeout 7200 --session-override --debug-log-spacing --platform-version 9.0 --platform-name iOS --app /Users/chennareddy/u/apps/TestApp/build/release-iphonesimulator/Handstand/Handstand.app --show-ios-log --device-name iPhone-6s --native-instruments-lib --orientation Portrait 
+0

Почему это проголосовало? – Chepech

+0

Это работает с 1.4.12 и позволяет передавать возможности в отличие от предложенных выше методов – Chepech

1

Откройте терминал и введите следующую команду

appium --address 127.0.0.1 --port 4723 

Нажмите ввод, то он зарегистрирует себя 127.0.0.1 и будет слушать 4723 порт.Вы можете расширить эту команду, добавив тип приложения и т.д.

Надеются, что это поможет вам

приветствий

0

Как и других ответы указует, если вы установили Appium через терминал, то просто введите appium & на терминальное окне для запуска сервера приложений. Здесь все, что вам нужно знать, как установить appium через терминал.
1. Установите Homebrew.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

2. Раздайте Следующие команды один за другим, чтобы установить appium

brew install node  # get node.js 
npm install -g appium # get appium 
npm install wd   # get appium client 
appium &    # start appium 

Вы можете найти ссылку на шаг гид для appium download osx здесь.

0

Попробуйте запустить программный сервер appium для mac os, включая автоматизацию прокси-сервера отладки webkit, который необходим для отладки.

//customize the below in start server method 
//Webkit Proxy command 

CommandLine iOSProxyCommand = new CommandLine("ios_webkit_debug_proxy"); 
iOSProxyCommand.addArgument("-c"); 
iOSProxyCommand.addArgument(udid+":27753");//provide your udid of the device 
iOSProxyCommand.addArgument("-F");//to disable console output in eclipse 

DefaultExecuteResultHandler iOSProxyresultHandler = new DefaultExecuteResultHandler(); 
DefaultExecutor iOSProxyexecutor = new DefaultExecutor(); 
iOSProxyexecutor.setExitValue(1); 
try { 
iOSProxyexecutor.execute(iOSProxyCommand, iOSProxyresultHandler); 
iOSProxyCommand.toString())); 
Thread.sleep(5000); 
System.out.println("iOS Proxy started."); 
} catch (IOException e) { 
e.printStackTrace(); 
} catch (InterruptedException e) { 
e.printStackTrace(); 
} 

CommandLine command = new CommandLine(
"/Applications/Appium.app/Contents/Resources/node/bin/node"); 
command.addArgument("/Applications/Appium.app/Contents/Resources/node_modules/appium/bin/appium.js", 
false); 
command.addArgument("--address", false); 
command.addArgument("127.0.0.1"); 
command.addArgument("--port", false); 
command.addArgument("4723"); 
command.addArgument("--full-reset", false); 
command.addArgument("--log-level", false);//to disable console output in eclipse 
command.addArgument("error"); 
command.addArgument("--log", false); 
Timestamp currentTimestamp = new java.sql.Timestamp(Calendar.getInstance().getTime().getTime()); 
command.addArgument("/Users/sethupandi/appium"+currentTimestamp+".log"); 
DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler(); 
DefaultExecutor executor = new DefaultExecutor(); 
executor.setExitValue(1); 
try { 
executor.execute(command, resultHandler); 
Thread.sleep(5000); 
System.out.println("Appium server started."); 
} catch (IOException e) { 
e.printStackTrace(); 
} catch (InterruptedException e) { 
e.printStackTrace(); 
} 
} 

//customize the below in stop appium server- 

//kill appium node after end of your execution 
String[] command = { "/usr/bin/killall", "-9", "node" }; 
try { 
Runtime.getRuntime().exec(command); 
System.out.println("Appium server stopped."); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
//Kill webkit proxy for iOS 
String[] commandProxy = { "/usr/bin/killall", "-9", "ios_webkit_debug_proxy" }; 
try { 
Runtime.getRuntime().exec(commandProxy); 
System.out.println("iOS Webkit proxy stopped"); 
} catch (IOException e) { 
e.printStackTrace(); 
} 
0

Для кого читает это, кто, случается, используя НПМ (узел/JS/машинопись), я создал модуль, называемый appium-controller, который запускает и останавливает appium в фоновом режиме программно (Mac или Windows). Он имеет возможность передавать определенный порт либо через вызов узла методу, либо через cli.

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