nhungpham1512 / automation_testing_beginner

automation testing course aLinh
0 stars 0 forks source link

Sử dụng javascript #9

Open jacobvn84 opened 1 year ago

jacobvn84 commented 1 year ago

Video hướng dẫn: https://youtu.be/2ffvexK2DJc

jacobvn84 commented 1 year ago

import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.serenitybdd.screenplay.Performable;
import net.serenitybdd.screenplay.Tasks;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.serenitybdd.screenplay.targets.Target;
import net.thucydides.core.annotations.Step;

public class ScrollPageToBottom implements Interaction {
    private final Target target;

    public static Performable of(Target target) {
        return Tasks.instrumented(ScrollPageToBottom.class, target);
    }

    @Step("{0} scroll the #target to bottom and highlight")
    public <T extends Actor> void performAs(T theUser) {
        BrowseTheWeb.as(theUser)
                .evaluateJavascript("arguments[0].scrollTo({ top: arguments[0].scrollHeight })"
                        , new Object[]{this.target.resolveFor(theUser)});
    }

    public ScrollPageToBottom(Target target) {
        this.target = target;
    }
}
jacobvn84 commented 1 year ago
import net.serenitybdd.screenplay.Actor;
import net.serenitybdd.screenplay.Interaction;
import net.serenitybdd.screenplay.Performable;
import net.serenitybdd.screenplay.Tasks;
import net.serenitybdd.screenplay.abilities.BrowseTheWeb;
import net.serenitybdd.screenplay.targets.Target;
import net.thucydides.core.annotations.Step;

public class ScrollPageToCenter implements Interaction {
    private final Target target;

    public static Performable of(Target target) {
        return Tasks.instrumented(ScrollPageToCenter.class, target);
    }

    @Step("{0} scroll the #target to center page and highlight")
    public <T extends Actor> void performAs(T theUser) {
        BrowseTheWeb.as(theUser)
                .evaluateJavascript("arguments[0].scrollIntoView({block: 'center', inline: 'nearest'})"
                        , new Object[]{this.target.resolveFor(theUser)});

        BrowseTheWeb.as(theUser)
            .evaluateJavascript("arguments[0].setAttribute('style', 'background: yellow; border: 2px solid red;');"
                    , new Object[]{this.target.resolveFor(theUser)});
    }

    public ScrollPageToCenter(Target target) {
        this.target = target;
    }
}
jacobvn84 commented 1 year ago

Mở ra một góc mới để học về JavaScript. Phần kiến thức để làm việc với vai trò là front end developer

jacobvn84 commented 1 year ago

Pls check and close @nhungpham1512