2013-07-27 2 views
0

Я пытаюсь запустить selenium-standalone-server как концентратор в java-программе. Я попытался использовать ProcessBuilder и Process. Я не мог этого сделать. Затем я нашел библиотеку Apache Commons exec. Я могу запустить сервер selenium. Но, когда я использую следующий код, я не могу запустить сервер как концентратор. Я пытаюсь запустить этот код через eclipse.Как запустить автономный сервер selenium как концентратор, используя apache commons exec?

package selenium.tool.utils; 
import org.apache.commons.exec.CommandLine; 
import org.apache.commons.exec.DefaultExecutor; 

public class HubRunner { 

public HubRunner(String portNumber) { 
    try { 
     String cmd = "java"; 

     CommandLine cmdline = CommandLine.parse(cmd); 
     cmdline.addArgument("-jar"); 
     cmdline.addArgument("selenium-server-standalone-2.33.0.jar"); 
     cmdline.addArgument("-role hub", false); 
     cmdline.addArgument("-port 5454", false); 

     System.out.println(cmdline.toString()); 

     DefaultExecutor exe = new DefaultExecutor(); 
     exe.execute(cmdline); 
    } catch (Exception ex) { 
     System.err.println(ex.getMessage()); 
    } 
} 

public static void main(String[] args) { 
    HubRunner hr = new HubRunner("8888"); 
} 
} 

В идеале эта программа должна запускать сервер как концентратор. Но это не так. Он пропускает параметры «-role hub» и «-port 5454».

я получаю следующий результат:

ява -jar Селен-сервера автономный-2.33.0.jar -ролевой ступица -PORT 5454
28 июля 2013 10:42:32 PM org.openqa .grid.selenium.GridLauncher главный
INFO: Запуск автономного сервера
22: 42: 33,468 INFO - Java: Sun Microsystems Inc. 14,0-b16
22: 42: 33,470 INFO - ОС: Linux 2.6.33.3-85 .fc13.i686.PAE i386
22: 42: 33.520 INFO - v2.33.0, с Core v2.33.0. Построенный из пересмотра 4e90c97
22: 42: 34.111 INFO - экземпляры RemoteWebDriver должны подключаться к: http://127.0.0.1:4444/wd/hub
22: 42: 34,115 INFO - Version Jetty/5.1.x
22: 42: 34,117 INFO - Начато HttpContext [/ selenium- сервер/драйвер,/селен-сервер/драйвер]
22: 42: 34,119 ИНФО - Создана HttpContext [/ селен-сервер,/селен-сервер]
22: 42: 34,120 ИНФО - Создана HttpContext [/, /]
22: 42: 34,182 ИНФО - начато [email protected]
22: 42: 34,183 ИНФО - Создана HttpContext [/ WD,/WD]
22:42:34. 200 INFO - Создана SocketListener на 0.0.0.0:4444
22: 42: 34,200 INFO - Начато [email protected]

Пожалуйста, помогите мне.

ответ

0

Я решил проблему, используя файл оболочки. Я написал команду для запуска концентратора selenium в файле .sh. Тогда я сделал ниже материал:

String cmd = "bash"; 
CommandLine cmdLine = new CommandLine(cmd); 
cmdLine.addArgument("./src/main/resources/scripts/hub_start.sh"); 
cmdLine.addArgument(portNumber); 
executor.execute(cmdLine); 

Таким образом, я был в состоянии выполнить файл оболочки и начал селен-концентратор.