Best SeLion code snippet using com.paypal.selion.grid.IOSDriverJarSpawner.IOSDriverJarSpawner
Source:IOSDriverJarSpawner.java
...27 * specified in the SeLion Grid JSON config file. If no class is defined, it attempts to launch28 * <strong>org.uiautomation.ios.server.IOSServer</strong>.29 */30@Beta31public final class IOSDriverJarSpawner extends MobileProcessLauncher {32 private static final SeLionGridLogger LOGGER = SeLionGridLogger.getLogger(IOSDriverJarSpawner.class);33 private String mainClass;34 public IOSDriverJarSpawner(String[] args) {35 this(args, null);36 }37 public IOSDriverJarSpawner(String[] args, ProcessLauncherOptions options) {38 super(args, options);39 setType(InstanceType.IOS_DRIVER);40 }41 public static void main(String[] args) {42 new IOSDriverJarSpawner(args).run();43 }44 @Override45 public void run() {46 if (!SystemUtils.IS_OS_MAC_OSX) {47 throw new UnsupportedOperationException("ios-driver requires OS X");48 }49 mainClass = ConfigParser.parse().getString("iosDriverMainClass", "org.uiautomation.ios.server.IOSServer");50 defaultArgs = ConfigParser.parse().getJsonObject("iosDriverDefaultArgs",51 new JsonParser().parse("{}").getAsJsonObject());52 // if we have an empty or null mainClass, then don't continue53 if (StringUtils.isEmpty(mainClass)) {54 throw new IllegalStateException(IOSDriverJarSpawner.class.getSimpleName() + " requires a main class.");55 }56 super.run();57 }58 @Override59 void startProcess(boolean squelch) throws IOException {60 setCommandLine(createJavaCommandForChildProcess());61 super.startProcess(squelch);62 }63 /**64 * This method load the default arguments required to spawn SeLion Grid/Node65 *66 * @return {@link CommandLine}67 * @throws IOException68 */69 private CommandLine createJavaCommandForChildProcess() throws IOException {70 LOGGER.entering();71 // start command with java72 CommandLine cmdLine = CommandLine.parse("java");73 // add the -D system properties74 cmdLine.addArguments(getJavaSystemPropertiesArguments());75 // Set the classpath76 cmdLine.addArguments(getJavaClassPathArguments("ios-", mainClass));77 // add the program argument / dash options78 cmdLine.addArguments(getProgramArguments());79 LOGGER.exiting(cmdLine.toString());80 return cmdLine;81 }82 void printUsageInfo() {83 StringBuilder usage = new StringBuilder();84 usage.append(SEPARATOR);85 usage.append("To use SeLion Grid with ios-driver");86 usage.append(SEPARATOR);87 usage.append("\n");88 usage.append("Usage: java [system properties] \\\n");89 usage.append(" -cp SeLion-Grid.jar \\\n");90 usage.append(" com.paypal.selion.grid.IOSDriverJarSpawner \\\n");91 usage.append(" [options] [driver options] \n");92 new JCommander(new ProcessLauncherConfiguration()).usage(usage);93 final int start = usage.indexOf("Usage: <main class> [options]");94 final int length = "Usage: <main class> [options]".length();95 usage.replace(start, start + length, "");96 usage.append(" Driver Options: \n");97 usage.append(" Any valid ios-driver dash option(s). \n");98 usage.append("\n");99 usage.append(" System Properties: \n");100 usage.append(" -DselionHome=<folderPath>: \n");101 usage.append(" Path of SeLion home directory. Defaults to <user.home>/.selion2/ \n");102 usage.append(" -D[property]=[value]: \n");103 usage.append(" Any other System Property you wish to pass to the JVM \n");104 System.out.print(usage.toString());...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!