Client#

public interface Client extends BrowserContext, AutoCloseable#

Интерфейс клиента к GUI приложения Global ERP, выполняемого в веб-браузере.

Клиент расширяет интерфейс BrowserContext, определяет алгоритмы входа в систему и получения ссылки на корневую сущность Application, необходимую для управления элементами интерфейса клиентского приложения через WebDriver API.

import org.junit.jupiter.api.Test;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import ru.bitec.gs.webdriver.login.*;
import ru.bitec.gs.automation.client.ui.Application;
import ru.bitec.gs.webdriver.ClientBuilder;
import ru.bitec.gs.webdriver.Client;

public class ClientTest {
    @Test
    public void loginAndOpenCloseApplication_noExceptions() throws Exception {
        UserPasswordSolution userCredential = CredentialsFactory.userPasswordSolution("admin", "admin", "PGTEST");
        UserPassword adminCredential = CredentialsFactory.userPassword("admin", "admin");
        LoginStrategy loginStrategy = LoginStrategyFactory.urlCredentials(
                userCredential,
                "gtk-Gs3_QAApplication",
                "gtk-ru.bitec.app.btk.Btk_Notification#Head");

        RemoteWebDriver remoteWebDriver = new ChromeDriver();
        try (Client client = ClientBuilder.forWebDriver(remoteWebDriver)
                .setUrl("http://localhost:8080")
                .setLoginStrategy(loginStrategy)
                .setAdminCredentials(adminCredential)
                .build()) {
            Application application = client.login();
            try {
                application.mainForm().mainMenu().itemByCaption("Use cases", "Справочник с MDI-карточкой").click();
            } finally {
                client.logout();
            }
        }
    }
}

Methods#

getApplicationName#

String getApplicationName()#

Возвращает имя приложения, которое должно быть открыто после успешного подключения к системе.

Returns

Имя гл.выборки приложения. Пример: “gtk-Module_MainMenu”.

getStartupFormName#

Optional<String> getStartupFormName()#

Возвращает имя формы, которая должно быть открыта после успешного запуска приложения.

Returns

Имя гл.выборки формы. Пример: “gtk-Module_SomeUserEntity”.

isLoggedIn#

boolean isLoggedIn()#

Флаг указывает на факт успешного входа в систему.

Returns

true, если выполнен вход, иначе false.

login#

Application login()#

Выполняет процедуру входа в систему в соответствии с типом аутентификации определённым указанным LoginStrategy.

Throws
  • Exception – При ошибках аутентификации или ожидания открытия приложения.

Returns

Объект Application после успешного входа в систему.

logout#

void logout()#

Выполняет процедуру закрытия приложения и выхода из системы в соответствии со стратегией выхода LogoutStrategy.

Throws
  • Exception – При ошибках закрытия приложения или выхода из системы