All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.epam.jdi.light.asserts.generic.UIAssert Maven / Gradle / Ivy

There is a newer version: 1.6.0
Show newest version
package com.epam.jdi.light.asserts.generic;

import com.epam.jdi.light.asserts.core.IsAssert;
import com.epam.jdi.light.common.JDIAction;
import com.epam.jdi.light.elements.interfaces.base.ICoreElement;
import com.epam.jdi.tools.Timer;
import com.epam.jdi.tools.func.JFunc1;

import static com.epam.jdi.light.asserts.core.SoftAssert.jdiAssert;
import static com.epam.jdi.tools.StringUtils.format;
import static org.hamcrest.Matchers.is;

/**
 * Created by Roman Iovlev on 26.09.2019
 * Email: [email protected]; Skype: roman.iovlev
 */
public class UIAssert extends BaseAssert
    implements CommonAssert {
    /**
     * Check that the element is displayed
     */
    @JDIAction("Assert that '{name}' is displayed")
    public A displayed() {
        jdiAssert(element.isDisplayed() ? "displayed" : "hidden", is("displayed"));
        return (A) this;
    }
    /**
     * Check that the element is disappeared
     */
    @JDIAction("Assert that '{name}' disappeared")
    public A disappear() {
        jdiAssert(element.isDisplayed() ? "displayed" : "disappeared", is("disappeared"));
        return (A) this;
    }

    /**
     * Check that the element is hidden
     */
    @JDIAction("Assert that '{name}' is hidden")
    public A hidden() {
        jdiAssert(element.isDisplayed() ? "displayed" : "hidden", is("hidden"));
        return (A) this;
    }

    public A notAppear() {
        return notAppear(element.base().getTimeout());
    }

    /**
     * Check that the element doesn't appear for the specified time
     * @param timeoutSec
     */
    @JDIAction(value = "Assert that '{name}' does not appear during {0} seconds", timeout = 0)
    public A notAppear(int timeoutSec) {
        boolean result = new Timer(timeoutSec * 1000)
                .wait(() -> element.isDisplayed());
        jdiAssert(result ? "displayed" : "hidden", is("hidden"));
        return (A) this;
    }

    /**
     * Check that the element is enabled
     */
    @JDIAction("Assert that '{name}' is enabled")
    public A enabled() {
        jdiAssert(element.isEnabled() ? "enabled" : "disabled", is("enabled"));
        return (A) this;
    }

    /**
     * Check that the element is disabled
     */
    @JDIAction("Assert that '{name}' is disabled")
    public A disabled() {
         jdiAssert(element.isEnabled() ? "enabled" : "disabled", is("disabled"));
        return (A) this;
    }

    public A and() { return (A) this; }
    public IsAssert core() { return element.core().is(); }
    public A condition(JFunc1 t) {
        return t.execute((A) this);
    }

    public A set(E element) {
        this.element = element;
        name = element.getName();
        failElement = format("%s(%s)", name, element.core().printFullLocator());
        return (A) this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy