/** * Creates a map that obeys the casing rules of the current platform for key * lookup. E.g. on a Windows platform, the map keys will be * case-insensitive. * * @return The map for storage of environment variables, never * {@code null}. */ private Map<String, String> createEnvironmentMap() { if (OS.isFamilyWindows()) { return new TreeMap<String, String>(new Comparator<String>() { public int compare(final String key0, final String key1) { return key0.compareToIgnoreCase(key1); } }); } return new HashMap<String, String>(); }
/** * Get the Executable name with .exe appended if on Windows and with the * exePath prepended. * * @param executableName * The base(UNIX) name of the process * @return The executable name with .exe appended if on Windows and with the * exePath prepended. */ protected String getExecutable(String executableName) { String exeName= OS.isFamilyWindows() ? executableName + ".exe" : executableName; if (exePath != null) { File exec= new File(exePath, exeName); return exec.getAbsolutePath(); } return exeName; }
/** * Constructs an Appium server instance. You specify the custom directory to * your Appium server. * * @param absoluteServerDirectory The custom directory to your Appium * server. The directory that contains the "node_modules" directory & * the NodeJS executable. * @param serverArguments The server arguments to be used when working with * the server. */ public AppiumServer(File absoluteServerDirectory, ServerArguments serverArguments) { this._absoluteServerDirectory = absoluteServerDirectory; this._serverArguments = serverArguments; // make sure to get the node executable file path along with the appium.js path too. _nodeExecutableFilePath = new File(OS.isFamilyWindows() ? _absoluteServerDirectory + node_execuable : _absoluteServerDirectory + "/node/bin/node"); _appiumJavaScriptFilePath = new File(_absoluteServerDirectory + appium_server); }
/** * Constructs an Appium server instance. You specify the custom directory to * your Appium server. * * @param absoluteServerDirectory The custom directory to your Appium * server. The directory that contains the "node_modules" directory & * the NodeJS executable. * @param serverArguments The server arguments to be used when working with * the server. */ public AppiumServer(File absoluteServerDirectory, ServerArguments serverArguments) { this._absoluteServerDirectory = absoluteServerDirectory; this._serverArguments = serverArguments; // make sure to get the node executable file path along with the appium.js path too. _nodeExecutableFilePath = new File(OS.isFamilyWindows() ? _absoluteServerDirectory + node_execuable : _absoluteServerDirectory + "/node/bin/node"); _appiumJavaScriptFilePath = new File(_absoluteServerDirectory + appium_server); }
public static boolean isProcessRunning(int pid) { String line; if (OS.isFamilyWindows()) { line = "cmd /c \"tasklist /FI \"PID eq " + pid + "\" | findstr " + pid + "\""; } else { line = "ps -p " + pid; } int exitValue = ProcessUtils.executeCommand(line, null); return exitValue == 0; }
static String findExecutable( final String executable, final List<String> paths ) { File f = null; search: for ( final String path : paths ) { f = new File( path, executable ); if ( !OS.isFamilyWindows() && f.isFile() ) break; else for ( final String extension : getExecutableExtensions() ) { f = new File( path, executable + extension ); if ( f.isFile() ) break search; } } if ( f == null || !f.exists() ) return null; return f.getAbsolutePath(); }
/** * Constructs an Appium server instance. Searches automatically for an * installed Appium server on your machine using the default installation * location according to your operating system. * * The searched directories are: <br><ul><li>Windows OS: "C:/Program * Files/Appium" & "C:/Program Files (x86)/Appium"</li> <li>Mac OS: * "/Applications/Appium.app/Contents/Resources" </li></ul>zz * * @param serverArguments The server arguments to be used when working with * the server. */ public AppiumServer(ServerArguments serverArguments) { this._serverArguments = serverArguments; // search for installed Appium server _absoluteServerDirectory = searchForServerDirectory(); // make sure to get the node executable file path along with the appium.js path too. _nodeExecutableFilePath = new File(OS.isFamilyWindows() ? _absoluteServerDirectory + node_execuable : _absoluteServerDirectory + "/node/bin/node"); _appiumJavaScriptFilePath = new File(_absoluteServerDirectory + appium_server); }
static String findExecutable( final String executable, final List<String> paths ) { File f = null; search: for ( final String path : paths ) { f = new File( path, executable ); if ( !OS.isFamilyWindows() && f.isFile() ) break; else for ( final String extension : getExecutableExtensions() ) { f = new File( path, executable + extension ); if ( f.isFile() ) break search; } } if ( f == null || !f.exists() ) return null; return f.getAbsolutePath(); }
/** * Constructs an Appium server instance. Searches automatically for an * installed Appium server on your machine using the default installation * location according to your operating system. * * The searched directories are: <br><ul><li>Windows OS: "C:/Program * Files/Appium" & "C:/Program Files (x86)/Appium"</li> <li>Mac OS: * "/Applications/Appium.app/Contents/Resources" </li></ul>zz * * @param serverArguments The server arguments to be used when working with * the server. */ public AppiumServer(ServerArguments serverArguments) { this._serverArguments = serverArguments; // search for installed Appium server _absoluteServerDirectory = searchForServerDirectory(); // make sure to get the node executable file path along with the appium.js path too. _nodeExecutableFilePath = new File(OS.isFamilyWindows() ? _absoluteServerDirectory + node_execuable : _absoluteServerDirectory + "/node/bin/node"); _appiumJavaScriptFilePath = new File(_absoluteServerDirectory + appium_server); }
if (OS.isFamilyWindows()) { stopServerCommand = new String[]{"cmd", "/c", "echo off & FOR /F \"usebackq tokens=5\" %a in (`netstat -nao ^| findstr /R /C:\""
if (OS.isFamilyWindows()) { stopServerCommand = new String[]{"cmd", "/c", "echo off & FOR /F \"usebackq tokens=5\" %a in (`netstat -nao ^| findstr /R /C:\""
/** * Search the operating system for an Appium server installation directory. * * @return A File representation to the Appium server installation * directory. */ private File searchForServerDirectory() { if (OS.isFamilyWindows()) { if (getArch().equals("32")) { return doesDirectoryExists(System.getenv("ProgramFiles") + "/Appium"); } else { // must be the x86_64 return doesDirectoryExists(System.getenv("ProgramFiles") + " (x86)/Appium"); } } else if (OS.isFamilyMac()) { return doesDirectoryExists("/Applications/Appium.app/Contents/Resources"); } // server directrory was not found. throw new ServerDirectoryNotFoundException(); }
/** * Search the operating system for an Appium server installation directory. * * @return A File representation to the Appium server installation * directory. */ private File searchForServerDirectory() { if (OS.isFamilyWindows()) { if (getArch().equals("32")) { return doesDirectoryExists(System.getenv("ProgramFiles") + "/Appium"); } else { // must be the x86_64 return doesDirectoryExists(System.getenv("ProgramFiles") + " (x86)/Appium"); } } else if (OS.isFamilyMac()) { return doesDirectoryExists("/Applications/Appium.app/Contents/Resources"); } // server directrory was not found. throw new ServerDirectoryNotFoundException(); }
if (OS.isFamilyWindows()) { commanddLine = new CommandLine("\"" + command + "\""); } else if (OS.isFamilyMac() || OS.isFamilyUnix()) { if (OS.isFamilyWindows()) { for (String parameter : parameters) { commanddLine.addArgument("\"" + parameter + "\"", false);
if (OS.isFamilyWindows()) { commanddLine = new CommandLine("\"" + command + "\""); } else if (OS.isFamilyMac() || OS.isFamilyUnix()) { if (OS.isFamilyWindows()) { for (String parameter : parameters) { commanddLine.addArgument("\"" + parameter + "\"", false);
@Override public WebDriver newInstance(DriverOptions driverOptions) { if (!OS.isFamilyWindows()) throw new UnsupportedOperationException("Unsupported platform: " + Platform.getCurrent()); InternetExplorerDriverService service = setupBuilder(new InternetExplorerDriverService.Builder(), driverOptions, IEDRIVER).build(); InternetExplorerOptions options = newInternetExplorerOptions(driverOptions); options.merge(driverOptions.getCapabilities()); InternetExplorerDriver driver = new InternetExplorerDriver(service, options); setInitialWindowSize(driver, driverOptions); return driver; } }
public static CommandLine createCommandLine() { if (OS.isFamilyWindows() || OS.isFamilyWin9x()) { CommandLine oCmdLine = new CommandLine("cmd"); oCmdLine.addArgument("/c"); oCmdLine.addArgument("setup.bat"); return oCmdLine; } else { CommandLine oCmdLine = new CommandLine("sh"); oCmdLine.addArgument("setup.sh"); return oCmdLine; } } }
@Override public WebDriver newInstance(DriverOptions driverOptions) { if (!OS.isFamilyWindows()) throw new UnsupportedOperationException("Unsupported platform: " + Platform.getCurrent()); EdgeDriverService service = setupBuilder(new EdgeDriverService.Builder(), driverOptions, EDGEDRIVER).build(); EdgeOptions options = newEdgeOptions(driverOptions); options.merge(driverOptions.getCapabilities()); EdgeDriver driver = new EdgeDriver(service, options); setInitialWindowSize(driver, driverOptions); return driver; } }