Это можно сделать двумя способами. Пусть человек будет классом, который мы собираемся использовать для его демонстрации.
public class Person {
private String name;
private int age;
public String getAge() {
return age;
}
}
Пусть люди являются списком лиц, которые будут преобразованы в карту
1.Использование Простой foreach и лямбда-выражение в списке
Map<Integer,List<Person>> mapPersons = new HashMap<>();
persons.forEach(p->mapPersons.put(p.getAge(),p));
2. Использование коллекторов в потоке, определенных в данном списке.
Map<Integer,List<Person>> mapPersons =
persons.stream().collect(Collectors.groupingBy(Person::getAge));
Использовать --auto-open-devtools-for-tabs
:
Этот флаг открывает окно автоматического открытия Chrome DevTools для каждой вкладки. Он предназначен для использования разработчиками и автоматизации, чтобы не требовать взаимодействия с пользователем для открытия DevTools.
blockquote>
Вы пытались имитировать события нажатия клавиш для быстрого доступа к инструментам разработчика в Chrome?
String openDevTools = Keys.chord(Keys.ALT, Keys.CONTROL, "i");
driver.findElement(By.ByTagName("body")).sendKeys(openDevTools);
Это не идеально и в строгом режиме тестирования вам понадобится определение платформы, чтобы обеспечить покрытие как Mac, так и Windows. Я бы вообще рекомендовал избегать этого (даже если он работает), но это возможно, как работа, если вы действительно должны.
У меня такое чувство, что оно может также потерять фокус самого окна, если вы это сделаете это. Если это так, вам нужно что-то вроде следующего: -
String parentHandle = driver.getWindowHandle(); // get the current window handle
// do your dev tool stuff here
driver.switchTo().window(parentHandle); // switch back to the original window
Надеюсь, что это поможет.
Полезная ссылка, если она вас доставит где угодно: How для обработки нового окна в Selenium WebDriver с использованием Java?
Изменить: просто перечитайте вопрос и не думайте, что это все равно сработает. В ваших модульных тестах должны записываться ошибки в логике вашего кода. Тестирование селена должно только проверять поездки пользователей и фиксировать ошибки, когда пользовательская поездка прерывается. Вы никогда не должны проверять логику кода / ошибку, возникающую при тестировании селена.
Вы не можете. Драйвер Chrome использует протокол удаленной отладки Chrome для связи с браузером. Это тот же протокол, который использует консоль разработчика. К сожалению, Chrome разработан таким образом, что только один клиент может быть подключен с использованием протокола за раз, поэтому это означает либо инструменты разработчика, либо драйвер, но не оба одновременно.