public void executeCommand() throws Throwable { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_COMMAND_LINE).setMainClass("-version"); final CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertNotNull(commandLine); ByteArrayOutputStream baos = new ByteArrayOutputStream(); commandLine.copyOutputTo(baos); commandLine.executeAsync(); new Wait("Waiting till the command is complete") { @Override public boolean until() { return !commandLine.isRunning(); } }; BufferedReader reader = new BufferedReader(new StringReader(new String(baos.toByteArray()))); String line = reader.readLine(); while (line != null && !line.contains("java version")) { line = reader.readLine(); } AssertJUnit.assertTrue(line.contains("java version")); }
public void executeWSCommand() throws Throwable { if (OS.isFamilyWindows()) { throw new SkipException("Test not valid for Windows"); } JavaProfile profile = new JavaProfile(LaunchMode.JAVA_WEBSTART).addWSArgument("-verbose").addVMArgument("-Dx.y.z=hello"); final CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertNotNull(commandLine); AssertJUnit.assertTrue(commandLine.toString().contains("-javaagent:")); AssertJUnit.assertTrue(commandLine.toString().contains("-verbose")); AssertJUnit.assertTrue(commandLine.toString().contains("-Dx.y.z=hello")); ByteArrayOutputStream baos = new ByteArrayOutputStream(); commandLine.copyOutputTo(baos); commandLine.executeAsync(); new Wait("Waiting till the command is complete") { @Override public boolean until() { return !commandLine.isRunning(); } }; BufferedReader reader = new BufferedReader(new StringReader(new String(baos.toByteArray()))); String line = reader.readLine(); while (line != null && !line.contains("Web Start")) { line = reader.readLine(); } AssertJUnit.assertTrue(line.contains("Web Start")); }
public static void launchAllure(boolean showDialog, String... args) { if (showDialog) WaitMessageDialog.setVisible(true, "Generating reports"); List<String> vmArgs = getVMArgs(); Iterator<String> iterator = vmArgs.iterator(); while (iterator.hasNext()) { String next = iterator.next(); if (next.contains("-javaagent") || next.contains("-D")) { if (!next.contains("-Dallure")) { iterator.remove(); } } } vmArgs.add("-classpath"); vmArgs.add(System.getProperty("java.class.path")); String property = System.getProperty(Constants.PROP_TMS_PATTERN); if (property != null && !"".equals(property)) { vmArgs.add("-D" + Constants.PROP_TMS_PATTERN + "=" + property); } property = System.getProperty(Constants.PROP_ISSUE_PATTERN); if (property != null && !"".equals(property)) { vmArgs.add("-D" + Constants.PROP_ISSUE_PATTERN + "=" + property); } ArrayList<String> newArgs = new ArrayList<String>(); newArgs.add(getJavaCommand()); newArgs.addAll(vmArgs); newArgs.add(AllureMain.class.getName()); newArgs.addAll(new ArrayList<String>(Arrays.asList(args))); CommandLine command = new CommandLine(newArgs.toArray(new String[newArgs.size()])); command.copyOutputTo(System.out); Logger.getLogger(TestRunner.class.getName()).info("Launching: " + command); command.execute(); if (showDialog) WaitMessageDialog.setVisible(false); }
public void start() { if (profile.isEmbedded()) { if (server != null) { return; } int port = getAddressOfRemoteServer().getPort(); server = new EmbeddedServer(profile); try { server.start(port); } catch (IOException e) { throw new WebDriverException("Unable to start the server on port " + port, e); } } else { final CommandLine command = profile.getCommandLine(); Logger.getLogger(JavaDriverCommandExecutor.class.getName()).info("Executing: " + command); command.copyOutputTo(profile.getOutputStream()); command.executeAsync(); new Wait() { @Override public boolean until() { return isConnected() || !profile.isJavaWebStart() && !Boolean.getBoolean(MARATHON_APPLICATION_DONT_MONITOR) && !command.isRunning(); } }.wait("Timedout waiting for the server to start", Long.getLong("marathon.application.wait", Wait.DEFAULT_TIMEOUT * 5)); if (!isConnected() && !command.isRunning()) { throw new WebDriverException("Unable to launch the application. command = " + command); } } }
public void getJavaCommandLineWithClasspath() throws Throwable { File f = new File(".").getCanonicalFile(); JavaProfile profile = new JavaProfile(LaunchMode.JAVA_COMMAND_LINE).addClassPath(f); CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertTrue(commandLine.toString().contains("-cp")); AssertJUnit.assertTrue(commandLine.toString().contains(f.getAbsolutePath())); }
public void getWsCommandWithJNLP() throws Throwable { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_WEBSTART).addWSArgument("-verbose").addVMArgument("-Dx.y.z=hello"); profile.setJNLPPath(new File("SwingSet3.jnlp").getAbsolutePath()); final CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertNotNull(commandLine); AssertJUnit.assertTrue(commandLine.toString().contains("-javaagent:")); AssertJUnit.assertTrue(commandLine.toString().contains("-verbose")); AssertJUnit.assertTrue(commandLine.toString().contains("-Dx.y.z=hello")); AssertJUnit.assertTrue(commandLine.toString().contains("SwingSet3.jnlp")); }
public void checkForArguments() throws Throwable { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_WEBSTART); File f = findFile(); profile.setJNLPPath(f.getAbsolutePath()); profile.setStartWindowTitle("SwingSet3"); profile.addVMArgument("-Dhello=world"); CommandLine commandLine = profile.getCommandLine(); System.out.println(commandLine); AssertJUnit.assertTrue(commandLine.toString().matches(".*JAVA_TOOL_OPTIONS=.*-Dhello=world.*")); }
public void checkGivenExecutableIsUsed() throws Throwable { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_WEBSTART); profile.setJavaCommand("java"); File f = findFile(); profile.setJNLPPath(f.getAbsolutePath()); profile.setStartWindowTitle("SwingSet3"); profile.addVMArgument("-Dhello=world"); CommandLine commandLine = profile.getCommandLine(); String exec = findExecutableOnPath("java"); AssertJUnit.assertTrue(commandLine.toString(), commandLine.toString().contains(exec)); }
public static void main(String[] args) throws InterruptedException { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_WEBSTART); File f = findFile(); profile.setJNLPPath(f.getAbsolutePath()); profile.setStartWindowTitle("SwingSet3"); CommandLine commandLine = profile.getCommandLine(); commandLine.copyOutputTo(System.err); System.out.println(commandLine); commandLine.execute(); }
public void checkForArguments() throws Throwable { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_APPLET); File f = findFile(); profile.setAppletURL(f.getAbsolutePath()); profile.setStartWindowTitle("Applet Viewer: SwingSet3Init.class"); profile.addVMArgument("-Dhello=world"); CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertTrue(commandLine.toString().contains("-Dhello=world")); }
public void checkGivenExecutableIsUsed() throws Throwable { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_APPLET); File f = findFile(); profile.setAppletURL(f.getAbsolutePath()); profile.setStartWindowTitle("Applet Viewer: SwingSet3Init.class"); String actual = ""; if (OS.isFamilyWindows()) { String path = System.getenv("Path"); String[] split = path.split(";"); File file = new File(split[0]); File[] listFiles = file.listFiles(); if (listFiles != null) { for (File listFile : listFiles) { if (listFile.getName().contains(".exe")) { profile.setJavaCommand(listFile.getAbsolutePath()); actual = listFile.getAbsolutePath(); break; } } } } else { actual = "ls"; profile.setJavaCommand(actual); } CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertTrue(commandLine.toString().contains(actual)); }
/** * 启动appium服务端 * * * @throws AppiumServerHasNotBeenStartedLocallyException * 如果在产生子进程中发生错误,则抛此异常 * * @see #stop() */ public void start() throws AppiumServerHasNotBeenStartedLocallyException { lock.lock(); try { if (isRunning()) { return; } try { process = new CommandLine(this.nodeJSExec.getCanonicalPath(), nodeJSArgs.toArray(new String[] {})); process.setEnvironmentVariables(nodeJSEnvironment); process.copyOutputTo(stream); process.executeAsync(); ping(startupTimeout, timeUnit); } catch (Throwable e) { destroyProcess(); String msgTxt = "本地appium服务尚未启动. " + "Node.js路径: " + this.nodeJSExec.getAbsolutePath() + " 参数: " + nodeJSArgs.toString() + " " + "\n"; if (process != null) { String processStream = process.getStdOut(); if (!StringUtils.isBlank(processStream)) { msgTxt = msgTxt + "Process output: " + processStream + "\n"; } } throw new AppiumServerHasNotBeenStartedLocallyException(msgTxt, e); } } finally { lock.unlock(); } }
public void getJavaCommandLine() { JavaProfile profile = new JavaProfile(LaunchMode.JAVA_COMMAND_LINE).addVMArgument("-version"); CommandLine commandLine = profile.getCommandLine(); AssertJUnit.assertNotNull(commandLine); }
private static void killPID(String processID) { new CommandLine("taskkill", "/f", "/t", "/pid", processID).execute(); }
private static void executeCommand(String commandName, String... args) { CommandLine cmd = new CommandLine(commandName, args); cmd.execute(); }