Не смущайтесь из-за названия, которое, как я знаю, довольно часто встречается при переполнении стека, но моя проблема в другом.
Требование: я внедряю сетку Selenium в свою среду, где мне нужно предоставить пользователямвозможность выбора машин / узлов, где они хотят запустить свои тесты.Я разработал основанный на пользовательском интерфейсе фреймворк , размещенный на компьютере 1 , предоставляющий выпадающий список машин / узлов для выбора значения.В зависимости от выбранного значения код создаст nodeURL на основе IP-адреса компьютера и успешно выполнит тесты на этом компьютере.Ниже приведен код
if(hostMachine.equals("Machine1"))
nodeURL = new URL("http://IP:PortNo/wd/hub");
else if (hostMachine.equalsIgnoreCase("Machine2"))
nodeURL = new URL("http://IP:PortNo/wd/hub");
Точно так же мне нужно указать также и пользовательскую машину, то есть, какую бы машину ни имел пользователь, он / она должен также иметь возможность запускать свои тесты на этой машине.Поэтому я добавил опцию «Моя машина» в раскрывающемся списке и написал код, указанный ниже, для динамического извлечения IP-адреса компьютера пользователя.
else if(hostMachine.equals("My Machine") || hostMachine.equals("Select"))
{
try
{
InetAddress ipAddress = InetAddress.getLocalHost();
nodeURL = new URL("http://"+ipAddress.getHostAddress+":5555/wd/hub");
}
catch(Exception e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
Проблема: Теперь возникает проблема, с которой я сталкиваюсьпользователь выбирает «Моя машина», код выбирает IP-адрес машины 1 (где в настоящее время размещена инфраструктура) и запускает тесты там, а не на машине пользователя.Я развернул войну фреймворка на Машине 1 с помощью tomcat и получил доступ к URL-адресу со своей машины, чтобы проверить, но не уверен, почему он каждый раз выбирает IP-адрес машины 1. ipAddress.getHostAddress () выбирает только IP-адрес хост-сервера?В любом случае можно ли получить IP-адрес компьютера пользователя, с которого мы пытаемся получить доступ к URL-адресу, чтобы тот, кто когда-либо выбрал опцию «Мой компьютер», код должен был получить IP-адрес своего компьютера и запустить там тесты.Буду признателен за вашу помощь.
Спасибо, Хасан