#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)), и это сработало. Спасибо