Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public PageObject login(Credentials credentials) {
- String usernameValue = (String) AbstractStepsHolder.getVariable(StoriesRunner.USER_LOGIN_VAR);
- if (usernameValue == null)
- usernameValue = credentials.getUsername();
- String passwordValue = (String) AbstractStepsHolder.getVariable(StoriesRunner.USER_PASSWORD_VAR);
- if (passwordValue == null)
- passwordValue = credentials.getPassword();
- UtilsSteps.waitForPageLoaded(StoriesRunner.getWebDriver());
- LoginPage page = AbstractStepsHolder.getCurrentPage();
- page.getField("Логин").clear();
- page.getField("Логин").type(usernameValue);
- if (System.getProperty("environment").contains("_op")) {
- System.err.println(String.format(">>>>>>>>> Credentials [username=%s, password=%s]", usernameValue, "******"));
- }else{
- System.err.println(String.format(">>>>>>>>> Credentials [username=%s, password=%s]", usernameValue, passwordValue));
- }
- page.getField("Пароль").clear();
- page.getField("Пароль").click();
- // To close "screen keyboard" with very large z-index
- try {
- StoriesRunner.getWebDriver().manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
- List<WebElementFacade> closeBtns = findAll(By.xpath("//div[@class='ui-keyboard-close-icon']"));
- if (closeBtns.size() > 0)
- closeBtns.get(0).click();
- } finally {
- StoriesRunner.getWebDriver().manage().timeouts().implicitlyWait(StoriesRunner.getImplicitTimeoutPreference(), TimeUnit.SECONDS);
- }
- page.getField("Пароль").type(passwordValue);
- page.getField("Войти").click();
- //При превышении лимита одновременно подключаемых пользователей ждем 3 сек и пробуем снова
- getDriver().manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
- int countAttempts = StoriesRunner.getNumberOfLoginAttempts();
- try {
- while (page.find(By.xpath("//*[contains(text(),'лимит одновременных подключений')]")).isEnabled() && countAttempts > 0) {
- try {
- System.out.println("Превышен лимит подключений. Засыпаем на 15 сек");
- Thread.sleep(15000);
- } catch (InterruptedException ex) {
- System.out.print(ex.toString());
- }
- getDriver().manage().timeouts().implicitlyWait(StoriesRunner.getImplicitTimeoutPreference(), TimeUnit.SECONDS);
- page.getField("Логин").clear();
- page.getField("Логин").type(usernameValue);
- System.err.println(String.format(">>>>>>>>> Credentials [username=%s, password=%s]", usernameValue, passwordValue));
- page.getField("Пароль").clear();
- page.getField("Пароль").click();
- try {
- StoriesRunner.getWebDriver().manage().timeouts().implicitlyWait(2, TimeUnit.SECONDS);
- List<WebElementFacade> closeBtns = findAll(By.xpath("//div[@class='ui-keyboard-close-icon']"));
- if (closeBtns.size() > 0)
- closeBtns.get(0).click();
- } finally {
- getDriver().manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
- }
- page.getField("Пароль").type(passwordValue);
- page.getField("Войти").click();
- countAttempts--;
- }
- } catch (Exception e) {
- } finally {
- getDriver().manage().timeouts().implicitlyWait(StoriesRunner.getImplicitTimeoutPreference(), TimeUnit.SECONDS);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement