.. java:import:: java.util Optional .. java:import:: ru.bitec.gs.automation.client.ui Application .. java:import:: ru.bitec.gs.automation.exception AutomationException Client ====== .. java:package:: ru.bitec.gs.automation.client :noindex: .. java:type:: public interface Client extends BrowserContext, AutoCloseable Интерфейс клиента к GUI приложения Global ERP, выполняемого в веб-браузере. Клиент расширяет интерфейс :java:ref:`BrowserContext `, определяет алгоритмы входа в систему и получения ссылки на корневую сущность :java:ref:`Application `, необходимую для управления элементами интерфейса клиентского приложения через WebDriver API. .. parsed-literal:: 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 ^^^^^^^^^^^^^^^^^^ .. java:method:: String getApplicationName() :outertype: Client Возвращает имя приложения, которое должно быть открыто после успешного подключения к системе. :return: Имя гл.выборки приложения. Пример: "gtk-Module_MainMenu". getStartupFormName ^^^^^^^^^^^^^^^^^^ .. java:method:: Optional getStartupFormName() :outertype: Client Возвращает имя формы, которая должно быть открыта после успешного запуска приложения. :return: Имя гл.выборки формы. Пример: "gtk-Module_SomeUserEntity". isLoggedIn ^^^^^^^^^^ .. java:method:: boolean isLoggedIn() :outertype: Client Флаг указывает на факт успешного входа в систему. :return: true, если выполнен вход, иначе false. login ^^^^^ .. java:method:: Application login() throws AutomationException :outertype: Client .. versionadded:: 1.1.1 метод выбрасывает AutomationException (ранее выбрасывал Exception) Выполняет процедуру входа в систему в соответствии с типом аутентификации определённым указанным :java:ref:`LoginStrategy `. :throws AutomationException: При ошибках аутентификации или ожидания открытия приложения. :return: Объект :java:ref:`Application ` после успешного входа в систему. logout ^^^^^^ .. java:method:: void logout() throws AutomationException :outertype: Client .. versionadded:: 1.1.1 метод выбрасывает AutomationException (ранее выбрасывал Exception) Выполняет процедуру закрытия приложения и выхода из системы в соответствии со стратегией выхода :java:ref:`LogoutStrategy `. :throws AutomationException: При ошибках закрытия приложения или выхода из системы