Вы пытались имитировать события нажатия клавиш для быстрого доступа к инструментам разработчика в 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?
Изменить: просто перечитайте вопрос и не думайте, что это все равно сработает. В ваших модульных тестах должны записываться ошибки в логике вашего кода. Тестирование селена должно только проверять поездки пользователей и фиксировать ошибки, когда пользовательская поездка прерывается. Вы никогда не должны проверять логику кода / ошибку, возникающую при тестировании селена.
Следующее является решением:
private void frmMainLoad(object sender, EventArgs e)
{
ActiveControl = textBox1;
}
лучший вопрос однако состоял бы в том почему... Я не совсем уверен, что ответ, к которому.
Редактирование: Я подозреваю, что это - что-то, чтобы сделать с тем, что и форма и TabControl являются контейнерами, но я не уверен.
Попытайтесь поместить его в Form_Shown()
событие. Поскольку это находится в контейнере, включая Form_Load или даже Форму (), конструктор не будет работать.
Вам просто нужно добавить Control.Select () для вашего элемента управления в этот код. Я использовал это, чтобы сосредоточить внимание на элементах управления во время проверки при наличии ошибок.
private void ShowControlTab(Control ControlToShow)
{
if (!TabSelected)
{
if (ControlToShow.Parent != null)
{
if (ControlToShow.Parent.GetType() == typeof(TabPage))
{
TabPage Tab = (TabPage)ControlToShow.Parent;
if (WOTabs.TabPages.Contains(Tab))
{
WOTabs.SelectedTab = Tab;
TabSelected = true;
return;
}
}
ShowControlTab(ControlToShow.Parent);
}
}
}
Попробуйте использовать textbox1.Select ()
вместо textbox1.Focus ()
. Это помогло мне несколько раз.