![JAR search and dependency download from the Maven repository](/logo.png)
net.n2oapp.framework.autotest.N2oSelenide Maven / Gradle / Ivy
package net.n2oapp.framework.autotest;
import com.codeborne.selenide.ElementsCollection;
import com.codeborne.selenide.Selenide;
import com.codeborne.selenide.SelenideElement;
import net.n2oapp.framework.autotest.api.collection.ComponentsCollection;
import net.n2oapp.framework.autotest.api.component.Component;
import net.n2oapp.framework.autotest.api.component.drawer.Drawer;
import net.n2oapp.framework.autotest.api.component.modal.Modal;
import net.n2oapp.framework.autotest.api.component.page.Page;
import net.n2oapp.framework.autotest.impl.N2oComponentLibrary;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.$$;
/**
* Главный класс для старта автотестирования страниц N2O
*/
public class N2oSelenide {
private static ComponentFactory factory = new ComponentFactory().addLibrary(new N2oComponentLibrary());
public static T open(String relativeOrAbsoluteUrl, Class pageClass) {
Selenide.open(relativeOrAbsoluteUrl);
return page(pageClass);
}
public static T page(Class pageClass) {
return factory.produce($("body"), pageClass);
}
public static T modal(Class modalClass) {
return factory.produce($(".modal .modal-content"), modalClass);
}
public static T modal(Class modalClass, int index) {
return factory.produce($$(".modal .modal-content").get(index), modalClass);
}
public static T drawer(Class drawerClass) {
return factory.produce($(".drawer.drawer-open"), drawerClass);
}
public static T component(SelenideElement element, Class componentClass) {
return factory.produce(element, componentClass);
}
public static T collection(ElementsCollection elements, Class collectionClass) {
return factory.produce(elements, collectionClass);
}
public static void setFactory(ComponentFactory newFactory) {
factory = newFactory;
}
public static Modal modal() {
return modal(Modal.class);
}
public static Modal modal(int index) {
return modal(Modal.class, index);
}
public static Drawer drawer() {
return drawer(Drawer.class);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy