Ошибка не отображается, если фактический результат не соответствует ожидаемому результату при входе в приложение с использованием selenium java

#java #selenium #authentication

#java #селен #аутентификация

Вопрос:

В приведенном ниже сценарии, если фактический результат не соответствует ожидаемому результату, ошибка не отображается. Если фактический результат соответствует ожидаемому результату, он возвращает «ошибки при входе в систему». Как с этим справиться?

    try
    {
                try 
                {
                    String errormsg  = loginpage.errormsg.getText();
                    String invalidstring = loginpage.invalidstring.getText();
                    String strActualResult=errormsg.replace(invalidstring, ""); 
                    if(strActualResult.trim().equalsIgnoreCase(strExpectedResult))
                    {
                        System.out.println("Error in login");
                        config.writetoexcel(projectPath,sheetName,1,3,"Pass");
                        
                    }
                }
                catch(Exception e)
                {
                    if(lp.isDisplayed())
                    {
                        System.out.println("Login successfull");
                        config.writetoexcel(projectPath,sheetName,1,3,"Pass");
                    }   
                }
    }
    catch(Exception e)
    {
        System.out.println("Error: " e.getMessage());
        config.writetoexcel(projectPath,sheetName,1,3,"Fail");
        config.writetoexcel(projectPath,sheetName,1,4,e.getMessage());      
    }       
  

Комментарии:

1. вы отладили тест, чтобы проверить, соответствует ли результат тому, что вы предполагаете?

2. похоже, вам не нужен try / catch, а простой if / else … включите свой класс loginpage.

3. это не сработало без try / catch. Я использовал условие else после if(strActualResult.trim().equalsIgnoreCase(strExpectedResult)), и это сработало. Спасибо