Как я принимаю значение StaleElementReferenceException с «GetAttribute» или «.Text» для проверки Assert.IsTrue в селене - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь принять значение StaleElementReferenceException с кодом:

var valuePerfil1 = wait.Until(ExpectedConditions.ElementIsVisible(By.XPath("//*[contains(.,'Analistas') and contains(@class, 'x-grid3-cell-inner x-grid3-col-id x-unselectable')]")));

wait.IgnoreExceptionTypes(typeof(StaleElementReferenceException));

try
{
    valuePerfil1.Click();
    selectValue.Click();
}

catch (StaleElementReferenceException)
{
  String recebe = valuePerfil1.Text;
  _valuePerfil1 = recebe;
}

но при сравнении в Assert.IsTrue(_valuePerfil1.Contains("Analista")); эта ошибка присутствует: _valuePerfil1 era null

Как мне взять это значение с valuePerfil1.GetAttribute("Text"); или valuePerfil1.Text;

1 Ответ

0 голосов
/ 02 июля 2019

A StaleElementException означает, что IWebElement больше не ссылается на действительный тег HTML или узел объектной модели документа в браузере. Поле _valuePerfil1 имеет значение NULL, поскольку переменная valuePerfil1 не привязана к тегу HTML, загруженному в браузер, поэтому в результате ее свойство Text, скорее всего, null.

Я бы ожидал, что _valuePerfil1.Text будет null или выдаст исключение, когда элемент _valuePerfil1 устарел.

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