J'automatise l'application mobile native ios avec appium . Jusqu'à présent, je lançais le serveur à partir de l'interface graphique Appium en cliquant sur le bouton Lancer. Maintenant, je veux démarrer le serveur à partir d'une invite de commande.
J'ai été capable de faire la même chose sur une machine Windows en suivant les étapes ci-dessous:
node appium
J'ai été bloqué sur la façon de démarrer l'invite de commande Node.js sur un Mac. Pouvez-vous me dire comment je peux démarrer le serveur Appium à partir d'une invite de commande sur un Mac.
si vous avez utilisé npm install -g appium, vous devriez pouvoir en ouvrir directement un avec la commande
appium //plus any server args you want ex: appium -p 4474
Ou vous pouvez toujours naviguer dans le dossier de votre node_modules et dans appium et aller avec
node. //plus any server args you want
si vous souhaitez avoir des indicateurs de serveur supplémentaires, ils sont tous disponibles sur leur site avec des documentations.
/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
Ouvrez le terminal et tapez la commande suivante
appium --address 127.0.0.1 --port 4723
Appuyez sur enter, il s’enregistrera lui-même à 127.0.0.1 et écoutera le port 4723. Vous pouvez étendre cette commande en ajoutant un type d'application, etc.
J'espère que ceci vous aidera
à votre santé
Comme d'autres réponses le soulignent, si vous avez installé Appium via terminal, tapez simplement appium &
dans une fenêtre de terminal pour démarrer le serveur appium. Ici, tout ce que vous devez savoir, comment installer appium via un terminal.
1. Installer Homebrew .
Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. Donner les commandes suivantes une à une pour installer appium
brew install node # get node.js
npm install -g appium # get appium
npm install wd # get appium client
appium & # start appium
Vous pouvez trouver le guide étape par étape pour télécharger appos osx ici.
Pour démarrer appium sous MAC, il suffit de taper => appium & dans l'application Terminal. Pour que la commande ci-dessus fonctionne, vous devez installer appium en mode terminal. Cependant, il y a deux façons de le faire, l'une avec HomeBrew et l'autre directement avec Node.js. Vous pouvez trouver le tutoriel d'installation en ligne de HomeBrew. Suivez les étapes ci-dessous pour l’installer directement avec node.js -
J'espère que cela a aidé.
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();
Essayez ceci pour lancer votre serveur d’appium par programme pour Mac, cela inclut également l’automatisation du proxy de débogage webkit, nécessaire au débogage.
//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();
}
Pour tous ceux qui lisent ceci qui utilisent npm (node / js/TypeScript), j'ai créé un module appelé appium-controller qui démarre et arrête appium en arrière-plan par programmation (mac ou windows). Il dispose d'une option permettant de transmettre un port spécifique via un appel de nœud à la méthode ou via cli.