Я написал проект Ghostdriver Maven Java, в котором я вызываю множество экземпляров файла jar с помощью сценария оболочки в Ubuntu 14.04 64bit.
Каждая строка в моем сценарии оболочки вызывает новый экземпляр моего файла jar.
Формат каждой строки:
screen -dmS name java -jar /path/name.jar arg1 arg2 arg3
В настоящее время у меня есть 1 сетевой интерфейс (eth0), разделенный на несколько сетевых псевдонимов (eth0: 1, eth0: 2 и т. д.), каждый псевдоним указывает на частный IP-адрес, который, в свою очередь, указывает на общедоступный IP-адрес.
Я пытаюсь найти лучший способ выделить частный IP-адрес и, возможно, номер порта для каждого экземпляра моей Java-программы. В настоящее время я вызываю Ghostdriver внутри своей программы.
Способ, которым я вызываю драйвер-призрак в своей программе:
public class className {
PhantomJSDriver driver;
public static final File PHANTOMJS_EXE = new File("//home/username/phantomjs/bin/phantomjs");
public className() {
callGhostdriver();
driver.quit();
}
private void callGhostdriver() {
{
DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability("phantomjs.binary.path",
PHANTOMJS_EXE.getAbsolutePath());
driver = new PhantomJSDriver(caps);
driver.manage().window().maximize();
actions = new Actions(driver);
}
}
}
Любая помощь будет принята с благодарностью.
***Обновлять****
Я попытался изменить метод callGhostdriver, но безуспешно.
private void callGhostdriver() {
DesiredCapabilities dcaps = new DesiredCapabilities();
dcaps.setCapability(
PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
PHANTOMJS_EXE.getAbsolutePath());
String[] phantomJsArgs = {"--webdriver=172.16.190.131:6781"};
dcaps.setCapability(
PhantomJSDriverService.PHANTOMJS_CLI_ARGS,
phantomJsArgs);
driver = new PhantomJSDriver(dcaps);
driver.manage().window().maximize();
actions = new Actions(driver);
}
Аргумент --webdriver=IP:PORT кажется переопределен вызовом --webdriver по умолчанию.
Вывод из работающей банки:
*12 апреля 2015 г. 17:26:25 org.openqa.selenium.phantomjs.PhantomJSDriverService INFO: порт: 8651 12 апреля 2015 г. 17:26:25 org.openqa.selenium.phantomjs.PhantomJSDriverService INFO: аргументы: [- -webdriver=172.16.190.131:6781, --webdriver=8651, --webdriver-logfile=/home/RemovedPath/phantomjsdriver.log] 12 апреля 2015 г. 17:26:25 org.openqa.selenium.phantomjs.PhantomJSDriverService INFO : среда: {} [INFO — 2015-04-12T21:26:26.584Z] GhostDriver — Main — работает на порту 8651
Порт 6781 с другим частным IP-адресом должен быть тем, что он использует, но вместо этого он использует 8651.