Почему он возвращает true, если в try и catch используется not display? - PullRequest
1 голос
/ 28 сентября 2019

хорошо, так что я хочу знать, есть ли электронное письмо в таблице, поэтому я написал метод, чтобы сделать это.В таблице вообще ничего нет, так почему он возвращает true?

private bool FilterUserTableByEmail(string email)
{
    FilterUserTableByWebElement(_regRep.FilterByNameEmail(), email);

    try
    {
        //_regRep.emailIDInTable(email);

        if (!_regRep.noDataFoundText.Displayed)
        {
            Console.WriteLine("Email for " + email + " was found in the table.");

        }
        return true;

    }
    catch (NoSuchElementException ex)
    {
        // the search result did not come back in the table - return false
        Console.WriteLine("Email for " + email + " was NOT found in the table..." + ex.Message);
        return false;
    }
}

Ответы [ 2 ]

0 голосов
/ 28 сентября 2019

Попробуйте:

Просто добавьте это после оператора if:

else
{
    Console.WriteLine("Email for " + email + " was NOT found in the table..." + ex.Message);
    return false;
}

Полный код:

private bool FilterUserTableByEmail(string email)
{
    FilterUserTableByWebElement(_regRep.FilterByNameEmail(), email);

    try
    {
        //_regRep.emailIDInTable(email);
        if (!_regRep.noDataFoundText.Displayed)
        {
            Console.WriteLine("Email for " + email + " was found in the table.");
        }
        else
        {
            Console.WriteLine("Email for " + email + " was NOT found in the table..." + ex.Message);
            return false;
        }
        return true;
        }
        catch (NoSuchElementException ex)
        {
            // the search result did not come back in the table - return false
            Console.WriteLine("Email for " + email + " was NOT found in the table..." + ex.Message);
            return false;
        }
}
0 голосов
/ 28 сентября 2019

Вы можете переместить оператор return внутрь if:

if (!_regRep.noDataFoundText.Displayed)
{
    Console.WriteLine("Email for " + email + " was found in the table.");
    return true; 
}
else 
{
    return false;
}

, что может быть упрощено (else является избыточным):

if (!_regRep.noDataFoundText.Displayed)
{
    Console.WriteLine("Email for " + email + " was found in the table.");
    return true; 
}
return false;

Doingэто означает, что метод возвращает true, если электронное письмо найдено, в противном случае он возвращает false.То, что вы изначально всегда возвращали true, если не было выброшено исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...