Обрезать метод в Java
У меня есть следующий код:
public class Search {
private Desktop desktop = new Desktop();
@Before
public void baseState() {
BrowserBaseState baseState = new BrowserBaseState("silk4j.settings");
baseState.execute(desktop);
}
@Test
public void searchNames() {
desktop.<BrowserApplication>find("//BrowserApplication").<BrowserWindow>find("//BrowserWindow").<DomButton>find("//INPUT[@id='edit-submit']").select();
}
}
Я смог усечь метод Test до этого:
public class Search {
private Desktop desktop = new Desktop();
BrowserApplication app;
@Before
public void baseState() {
BrowserBaseState baseState = new BrowserBaseState("silk4j.settings");
app = baseState.execute(desktop);
}
@Test
public void searchNames() {
app.<BrowserWindow>find("//BrowserWindow").<DomButton>find("//INPUT[@id='edit-submit']").select();
}
Как мне усечь метод еще дальше? Я хотел бы иметь возможность использовать что-то вроде этого:
win.<DomButton>find("//INPUT[@id='edit-submit']").select();
вместо этого длинного
desktop.<BrowserApplication>find("//BrowserApplication").<BrowserWindow>find("//BrowserWindow").<DomButton>find("//INPUT[@id='edit-submit']").select();
Пожалуйста, вставьте весь класс в свой ответ?
1 ответ
Решение
public class Search {
private Desktop desktop = new Desktop();
BrowserWindow win;
@Before
public void baseState() {
BrowserBaseState baseState = new BrowserBaseState("silk4j.settings");
win = baseState.execute(desktop).find("//BrowserWindow");
}
@Test
public void searchNames() {
win.<DomButton>find("//INPUT[@id='edit-submit']").select();
}
}