Java 类org.openqa.selenium.os.CommandLine 实例源码

项目:marathonv5    文件:JavaProfileTest.java   
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"));
}
项目:marathonv5    文件:JavaProfileTest.java   
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"));
}
项目:marathonv5    文件:AllureUtils.java   
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);
}
项目:marathonv5    文件:JavaDriverCommandExecutor.java   
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);
        }

    }
}
项目:marathonv5    文件:JavaProfileTest.java   
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()));
}
项目:marathonv5    文件:JavaProfileTest.java   
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"));
}
项目:marathonv5    文件:LaunchWebStartTest.java   
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.*"));
}
项目:marathonv5    文件:LaunchWebStartTest.java   
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));
}
项目:marathonv5    文件:LaunchWebStartTest.java   
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();

}
项目:marathonv5    文件:LaunchAppletTest.java   
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"));
}
项目:marathonv5    文件:LaunchAppletTest.java   
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));
}
项目:menggeqa    文件:AppiumDriverLocalService.java   
/**
 * 启动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();
    }
}
项目:marathonv5    文件:JavaProfileTest.java   
public void getJavaCommandLine() {
    JavaProfile profile = new JavaProfile(LaunchMode.JAVA_COMMAND_LINE).addVMArgument("-version");
    CommandLine commandLine = profile.getCommandLine();
    AssertJUnit.assertNotNull(commandLine);
}
项目:JDI    文件:TestNGBase.java   
private static void killPID(String processID) {
    new CommandLine("taskkill", "/f", "/t", "/pid", processID).execute();
}
项目:gga-selenium-framework    文件:WebDriverUtils.java   
private static void executeCommand(String commandName, String... args) {
    CommandLine cmd = new CommandLine(commandName, args);
    cmd.execute();
}
项目:gga-selenium-framework    文件:WebDriverUtils.java   
private static void executeCommand(String commandName, String... args) {
    CommandLine cmd = new CommandLine(commandName, args);
    cmd.execute();
}
项目:gga-selenium-framework    文件:WebDriverUtils.java   
private static void executeCommand(String commandName, String... args) {
    CommandLine cmd = new CommandLine(commandName, args);
    cmd.execute();
}