Помогите разобраться с junit atlas
Запускаю тест, загружается страница сайта, в поле поиска вводится искомое значение но при клике поиска не происходит... Код взял отсюда:[https://github.com/qameta/atlas/blob/4092df60e8383cf4547f3bce011cbe6ed0e676d6/samples/github/src/test/java/io/qameta/atlas/github/WebSiteTest.java][1] и переделал под другой сайт. вот метод теста:
@Test
public void simpleWebSiteTest(){
onSite().onMainPage().getInput().sendKeys("Atlas");
onSite().onMainPage().getButton().submit();
}
метод запуска сайта:
private MVidioSite onSite() {
return atlas.create(driver, MVidioSite.class);
}
интерфейсы:
public interface MVidioSite extends WebSite {
@Page(url = "product-list-page-cls")
MainPage onMainPage();
@Page(url = "product-list-page-cls")
SearchPage onSearchPage(@Query("q") String value);
@Page(url = "{profile}/{project}/tree/master/")
ProjectPage onProjectPage(@Path("profile") String profile, @Path("project") String project);
@Page
ContributorsPage onContributorsPage();
}
public interface MainPage extends WebPage, WithHeader {
@FindBy("//*[@id=\"header-search-input\"]")
AtlasWebElement getInput();
@FindBy("//*[@id=\"main-search-form-sticky\"]/div/div/button")
AtlasWebElement getButton();
}
а вот метод старта драйвера сайта:
@BeforeEach
public void startDriver() {
WebDriverManager.chromedriver().setup();
driver = new ChromeDriver();
atlas = new Atlas(new WebDriverConfiguration(driver, "https://www.mvideo.ru/product-list"));
}
Ответы (1 шт):
Автор решения: konst
→ Ссылка
Клик поиска не срабатывал, т.к. метод OnSite() срабатывал дважды, загружая сайт и очищая как следствие поле поиска. Я сделал через объекты интерфейсов MVidioSite и MainPage:
MVidioSite mVidioSite = onSite();
MainPage mainPage = mVidioSite.onMainPage();
mainPage.getInput().sendKeys("Atlas");
mainPage.getInput().submit();
Так функционал теста работает.)