Вопрос по Selenide + Java, пытаюсь сократить код.

Привет сообщество. Продолжаю осваивать Selenide и хочу сократить код.

public class Customer {

    @Test
    public void userSMTH() {
        open("http://smth.com/");
        $x("(//*[@id='signInFormUsername'])[2]").setValue("test");
        $x("(//*[@id='signInFormPassword'])[2]").setValue("2022");
        $x("(//*[@name='signInSubmitButton'])[2]").click();

        //open login popup
        $("[data-test-id='Navigation-item-signIn']").click();

        //choose LogIn
        $("[data-test-id='signInForm_sign_up_tab']").click();

У меня во многих тестах есть повторяющийся кусок

        $x("(//*[@id='signInFormUsername'])[2]").setValue("test");
        $x("(//*[@id='signInFormPassword'])[2]").setValue("2022");
        $x("(//*[@name='signInSubmitButton'])[2]").click();

Могу ли я сделать так ?
Вывести этот кусок в отдельный класс

public class Afftorizacia {

    public void userCanAfftorizovacca() {
        open("http://dev.carvagotest.com/");
        $x("(//*[@id='signInFormUsername'])[2]").setValue("test");
        $x("(//*[@id='signInFormPassword'])[2]").setValue("2022");
        $x("(//*[@name='signInSubmitButton'])[2]").click();

И тогда как я понимаю тест будет выглядеть так

public class Customer {

    @Test
    public void userSMTH() {
        open("http://smth.com/");
        Afftorizacia auth = new Afftorizacia();

        //open login popup
        $("[data-test-id='Navigation-item-signIn']").click();

        //choose LogIn
        $("[data-test-id='signInForm_sign_up_tab']").click();

Не могу какое-то время проверить на компьютере.
Подскажите пожалуйста верна ли мысль. и ели ошибся. то укажите в чем.
Спасибо.

Забыли добавить auth.userCanAfftorizovacca(); после Afftorizacia auth = new Afftorizacia();
И не забудьте, у вас в userCanAfftorizovacca уже есть open.

1 лайк

Спасибо большое !